瞭解 OAuth 端點

您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

如要擔任 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 的 Proxy。

如要找出這個 Proxy,請按照下列步驟操作:

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

    邊緣

    如要使用 Edge UI 存取「API Proxy」頁面,請按照下列步驟操作:

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

    Classic Edge (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 中執行的服務,並直接傳回用戶端。

相關主題

要求存取權杖和授權碼