瞭解 OAuth 端點

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

為了以 OAuth2 授權伺服器的形式執行工作,Apigee Edge 必須公開端點,讓用戶端可以要求權杖和驗證碼。本主題將簡要介紹這些端點,並說明如何在 Edge 中設定這些端點。

什麼是 OAuth2 端點?

OAuth2 端點是一個網址,用戶端會呼叫來要求 OAuth 權杖 (或驗證碼),以下是存取權杖的要求範例:

$ curl -i -H 'ContentType: x-www-form-urlencoded' \
-X POST 'https://docs-test.apigee.net/oauth/client_credential/accesstoken' \
-d 'grant_type=client_credentials' \
-H 'Authorization: Basic c3FIOG9vSGV4VHo4QzAySVg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ'

在您的 Apigee Edge 環境中,您必須設定政策,系統才能處理這類要求。由於您可以透過要求推論出,政策必須支援「用戶端憑證」授權類型,且政策必須在路徑 /oauth/client_credentials/accesstoken 上執行。

在本例中,正確的政策是 OAuthV2 政策,這些政策為在如以下範例說明 (政策名稱為 GenerateAccessTokenClient) 中執行的流程中執行:

        <Flow name="AccessTokenClientCredential">
            <Description/>
            <Request>
                <Step>
                    <FaultRules/>
                    <Name>GenerateAccessTokenClient</Name>
                </Step>
            </Request>
            <Response/>
            <Condition>(proxy.pathsuffix MatchesPath &quot;/accesstoken&quot;) and (request.verb = &quot;POST&quot;)</Condition>
        </Flow>

如果用戶端提供正確的憑證,政策會產生並傳回權杖;否則,政策會傳回錯誤。

找出預設端點

Apigee 預設會為其建立的每個新機構新增 OAuth2 端點 Proxy 範例。如要尋找,您會在機構中找到名為「oauth」oauth的 Proxy。

如何找出這個 Proxy:

  1. 按照下文說明存取「API Proxy」頁面。

    Edge

    如何使用 Edge UI 存取 API Proxy 頁面:

    1. 登入 apigee.com/edge
    2. 在左側導覽列中,依序選取「Develop」(開發) >「API Proxy」
    3. 按一下「+Proxy」

    傳統邊緣 (Private Cloud)

    如何使用傳統版 Edge UI 存取「API Proxy」頁面:

    1. 登入 http://ms-ip:9000,其中 ms-ip 是管理伺服器節點的 IP 位址或 DNS 名稱。
    2. 在頂端導覽列中,依序選取「API」>「API Proxy」
  2. 在 Proxy 清單中,選取名為 oauth 的 Proxy。
  3. 在 Proxy 總覽頁面中,選取「開發」分頁標籤開啟 Proxy 編輯器,並檢查 Proxy 中的政策與流程。

最佳做法:建立自己的 OAuth2 端點 Proxy

預設的 oauth Proxy 受到限制:僅支援用戶端憑證授權類型。這個 Proxy 只是其中之一。在實際工作環境中,我們會建議您建立 Proxy,用於設定符合需求的 OAuth2 端點。

重要注意事項:定義 OAuth2 端點的 Proxy 通常不是目標 Proxy。Proxy 可做為在 ProxyEndpoint 中執行的服務,然後直接傳回用戶端。

相關主題

要求存取權杖和授權碼