本頁內容適用於 Apigee 和 Apigee Hybrid。
查看
Apigee Edge 說明文件。
如要擔任 OAuth2 授權伺服器,Apigee 必須公開端點,供用戶端要求權杖和授權碼。本主題將簡要介紹這些端點,並說明如何在 Apigee 中設定這些端點。
什麼是 OAuth2 端點?
OAuth2 端點是客戶呼叫的網址,用於要求 OAuth 權杖 (或授權碼)。以下是存取權杖的要求範例:
$ curl -i -H "ContentType: x-www-form-urlencoded" \ -X POST "https://apitest.acme.com/oauth/client_credential/accesstoken" \ -d "grant_type=client_credentials" \ -H "Authorization: Basic c3FIOG9vSGV4VHo4QzAySVg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ"
您需要 OAuthV2 政策才能處理這項要求。如您從上述範例要求推斷,政策必須支援「client credentials」授權類型,並在路徑 /oauth/client_credentials/accesstoken
上執行。
以下是設定為接受 client_credentials
授權類型的 OAuthV2 政策範例。如要瞭解可透過這項政策設定的選用設定元素,請參閱「OAuthV2 政策」。
<OAuthV2 name="GenerateAccessToken"> <Operation>GenerateAccessToken</Operation> <ExpiresIn>1800000</ExpiresIn> <!-- 30 minutes --> <SupportedGrantTypes> <GrantType>client_credentials</GrantType> </SupportedGrantTypes> <GenerateResponse enabled="true"/> </OAuthV2>
以下是產生存取權杖的端點設定範例。這項政策會執行 GenerateAccessToken 政策,後者必須設定為支援 client_credentials 授權類型。
... <Flow name="generate-access-token"> <Request> <Step> <Name>GenerateAccessToken</Name> </Step> </Request> <Response/> <Condition>(proxy.pathsuffix MatchesPath "/token") and (request.verb = "POST")</Condition> </Flow> ...
如果用戶端提供正確憑證,政策會產生並傳回權杖;否則會傳回錯誤。
相關主題
如要進一步瞭解所有支援的授權類型和範例程式碼,請參閱「取得 OAuth 2.0 權杖」。