本页面适用于 Apigee 和 Apigee Hybrid。
查看 Apigee Edge 文档。
使用第三方 OAuth 令牌
请参阅使用第三方 OAuth 令牌。
标识多个重定向 URI
使用授权代码授权类型时,必须在注册开发者应用时指定重定向 URI。重定向 URI 指定被标识为代表客户端应用接收授权代码的应用的 URI。在请求授权代码和令牌时,客户端必须将此 URI 发送到 Apigee,并且 redirect_uri
参数必须与已注册的参数匹配。另请参阅获取 OAuth 2.0 令牌。
例如:
https://mydomain.com/authorize?\ client_id=123456&\ response_type=code&\ redirect_uri=https%3A%2F%2Fmydomain.com%2Fcallback&scope=scope1%20scope2&state=abc
有一个这样的用例:在单个代理应用中指定多个重定向 URI。例如,您可能需要对多个网域进行身份验证。例如:
https://mydomain.com/callback
https://mydomain.uk/callback
https://mydomain.ja/callback
如需在开发者应用中指定多个重定向 URI,请将其作为以英文逗号分隔的列表添加到开发者应用界面的回调网址字段中。例如:
https://mydomain.com/callback,https://mydomain.uk/callback,https://mydomain.ja/callback
请注意,/authorize
请求只能在 redirect_uri
参数中包含一个 URI。只要重定向 URI 与开发者应用界面的回调网址字段中指定的其中一个 URI 匹配,请求就会成功。
更改 GenerateAuthCode 操作的默认返回行为
默认情况下,OAuthv2 政策的 GenerateAuthCode 操作会返回 302
重定向至重定向 URI 以及包含授权代码的 ?code
查询参数。
在某些情况下,您可能需要改变此行为。例如,您可能需要返回 200
响应以及包含代码的结构化 JSON。
实现此用例的一种方法是将 OAuthV2 政策的 GenerateResponse 属性设置为 false
。
使用 ExtractVariable 政策从变量 oauthv2authcode.{policy_name}.code
中获取授权代码的值。然后,您可以使用 AssignMessage 政策以 JSON 载荷形式返回代码(状态为 200)。
审核应用最终用户同意
您可能需要验证应用最终用户是否已授权应用。您可以使用 Apigee Audit API 执行此操作。
出站 OAuth 示例
请参阅 GitHub 上 Apigee api-platform-samples 代码库中的 outbound-oauth 示例。您可以克隆、部署和运行该示例。本示例使用 Microsoft Azure translator API 来翻译 Twitter 微博。为此,该方法会发出出站调用以获取 OAuth 访问令牌,然后使用 API 服务缓存政策缓存该令牌,并在每次发出出站调用时重复使用缓存的令牌。此外,还包括用于调用 API 代理的演示浏览器应用。