進階 OAuth 2.0 主題

您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件
資訊

使用第三方 OAuth 憑證

請參閱使用第三方 OAuth 權杖

指定多個回呼網址

使用授權碼授權類型時,您必須在註冊開發人員應用程式時指定回呼網址。回呼網址通常會指定應用程式的網址,該應用程式會指定為用戶端應用程式來接收授權碼。此外,這個網址字串也用於驗證。要求用戶端和存取權杖時,用戶端必須將這個網址傳送至 Apigee Edge,且 redirect_uri 參數必須與已註冊的權杖相符。另請參閱要求存取權杖和授權碼

例如:

http://myorg-test.apigee.net/weather/oauth/authorizationcode?client_id=123456&response_type=code&redirect_uri=http://example.com/callback&scope=scope1%20scope2&state=abc

在單一 Proxy 應用程式中,您可以指定多個回呼網址。舉例來說,您可能想針對多個網域進行驗證。例如:

  • http://myexample.com/callback
  • http://myexample.uk/callback
  • http://myexample.ja/callback

註冊開發人員應用程式時,Edge 不支援指定多個回呼網址或使用萬用字元。如要達成這個用途,您可以在註冊開發人員應用程式時指定空白的回呼網址,然後在 JavaScript 政策中加入邏輯,以驗證連入的重新導向 URI。

變更 GenerateAuthCode 作業的預設傳回行為

根據預設,OAuthV2 政策的 GenerateAuthCode 作業將傳回 302 重新導向至回呼網址的 302 重新導向,而該查詢參數包含包含授權碼的 ?code 查詢參數。

在某些情況下,您可能想變更這項行為。舉例來說,您可能會想要傳回含有程式碼的結構化 JSON 中的 200 回應。

如要達成這個用途,請使用 ExtractVariable 政策擷取程式碼,並使用 AssignMessage 政策在 JSON 酬載中傳回狀態為 200 的程式碼。

稽核應用程式使用者同意聲明

您可能要驗證應用程式使用者是否已授權應用程式。您可以使用 Apigee Edge Audit API 進行這項作業。

傳出 OAuth 範例

請參閱 GitHub 上的 Apigee api-platform-samples 存放區中的 outbound-oauth 範例。您可以複製、部署及執行範例。這個範例使用 Microsoft Azure translator API 翻譯推文。為此,其會發出外連呼叫來取得 OAuth 存取權杖,然後使用 API 服務快取政策快取該權杖,並在每次發出傳出呼叫時重複使用快取權杖。此外,也包括用來叫用 API Proxy 的示範瀏覽器應用程式。