Apigee控制台将失败,使用401 Apigee平台代理配置为使用Oauth 2.0

时间:2013-11-22 05:08:46

标签: apigee

我们正在使用Apigee平台来托管我们的api。我们在Apigee中的Api代理配置为使用Oauth 2.0 client_credentials和隐式授权类型。

我们正在创建Console To Go,为开发人员提供API测试控制台,并配置控制台以使用Oauth 2.0隐式授权流程。

当我们测试实际通话时,我们总是从Apigee获得401。这是回复

HTTP/1.1 401 API is secure. Needs security Credentials
WWW-Authenticate:
Bearer realm="null",error='invalid_token",error_description='oauth.v2.InvalidAccessToken: Invalid access token"
Content-Length:101
Content-Type:application/json

{
 "fault":  {
 "faultstring": "Invalid access token",
 "detail":  {
  "errorcode": "oauth.v2.InvalidAccessToken"
  }
  }
}

发送到我们API的实际请求是:

GET /whodini/v1/discovery?email=puneet%40whodini.com HTTP/1.1
Authorization: OAuth M********N (Masked for security)
Host: whodiniinc-test.apigee.net
X-Target-URI: http://whodiniinc-test.apigee.net
Connection:
Keep-Alive

Apigee的ValidateAccessToken策略在Authorization: Bearer {token}标头中查找标记值,我怀疑是401失败,因为Console发出的实际请求包含Authorization: Oauth {token}

有没有办法  1.在使用Oauth Implicit Grant Flow时控制授权标头值,以便在进行API调用时使用Authorization: Bearer M********N代替Authorization: OAuth M********N

  1. 在Apigee Proxy的ValidateAccessToken政策中添加一条规则,使其解释为Authorization: OAuth M********N (Masked for security)

1 个答案:

答案 0 :(得分:1)

请按照以下步骤解决您的问题:

  1. 转到https://apigee.com/togo
  2. 登录
  3. 选择OAuth 2.0隐式授权流程(用户代理)
  4. 选择“草稿版本”为“14或更高版本”
  5. 点击“保存凭据”按钮
  6. 希望这会有所帮助。如果您有任何其他问题,请与我们联系。

    谢谢, Archendra