我们正在使用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
Authorization: OAuth M********N (Masked for security)
答案 0 :(得分:1)
请按照以下步骤解决您的问题:
希望这会有所帮助。如果您有任何其他问题,请与我们联系。
谢谢, Archendra