高级 OAuth 2.0 主题

本页面适用于 ApigeeApigee 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。

为了实现此用例,可使用 ExtractVariable 政策检索代码,并使用 AssignMessage 政策以 JSON 载荷形式返回代码(状态为 200)。

审核应用最终用户同意

您可能需要验证应用最终用户是否已授权应用。您可以使用 Apigee Audit API 执行此操作。

出站 OAuth 示例

请参阅 GitHub 上 Apigee api-platform-samples 代码库中的 outbound-oauth 示例。您可以克隆、部署和运行该示例。本示例使用 Microsoft Azure translator API 来翻译 Twitter 微博。为此,该方法会发出出站调用以获取 OAuth 访问令牌,然后使用 API 服务缓存政策缓存该令牌,并在每次发出出站调用时重复使用缓存的令牌。此外,还包括用于调用 API 代理的演示浏览器应用。