本页面适用于 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 政策才能处理此请求。从上面的示例请求可以看出,该政策必须支持“客户端凭据”授权类型,并在路径 /oauth/client_credentials/accesstoken
上执行。
这是一个示例 OAuthV2 政策,配置为接受 client_credentials
授权类型。如需了解可以使用此政策进行配置的可选配置元素的信息,请参阅 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 令牌