您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。 信息
使用第三方 OAuth 令牌
请参阅使用第三方 OAuth 令牌。
标识多个回调网址
使用授权代码授权类型时,必须在注册开发者应用时指定回调网址。回调网址通常指定要代表客户端应用接收授权代码的应用的网址。此外,此网址字符串用于验证。在请求授权代码和访问令牌时,客户端必须将此网址发送到 Apigee Edge,并且 redirect_uri 参数必须与已注册的参数匹配。另请参阅请求访问令牌和授权代码。
例如:
http://myorg-test.apigee.net/weather/oauth/authorizationcode?client_id=123456&response_type=code&redirect_uri=http://example.com/callback&scope=scope1%20scope2&state=abc
有一个这样的用例:在单个代理应用中指定多个回调网址。例如,您可能需要对多个网域进行身份验证。例如:
- http://myexample.com/callback
- http://myexample.uk/callback
- http://myexample.ja/callback
在注册开发者应用时,Edge 不支持指定多个回调网址或使用通配符。为了实现此用例,您可以在注册开发者应用时指定空的回调网址,然后在 JavaScript 政策中添加逻辑来验证传入的重定向 URI。
更改 GenerateAuthCode 操作的默认返回行为
默认情况下,OAuthV2 政策的 GenerateAuthCode 操作会返回 302 重定向至回调网址以及包含授权代码的 ?code 查询参数。
在某些情况下,您可能需要改变此行为。例如,您可能需要返回 200 响应以及包含代码的结构化 JSON。
实现此用例的一种方法是将 OAuthV2 政策的 GenerateResponse 属性设为 false
。
使用 ExtractVariable 政策从变量 oauthv2authcode.{policy_name}.code
获取授权代码的值。然后,您可以使用 AssignMessage 政策以 JSON 载荷形式返回代码(状态为 200)。
审核应用最终用户同意
您可能需要验证应用最终用户是否已授权应用。您可以使用 Apigee Edge Audit API 来执行此操作。
出站 OAuth 示例
请参阅 GitHub 上 Apigee api-platform-samples 代码库中的 outbound-oauth 示例。您可以克隆、部署和运行该示例。本示例使用 Microsoft Azure translator API 来翻译 Twitter 微博。为此,该方法会发出出站调用以获取 OAuth 访问令牌,然后使用 API 服务缓存政策缓存该令牌,并在每次发出出站调用时重复使用缓存的令牌。此外,还包括用于调用 API 代理的演示浏览器应用。