带有第三方密钥管理器的WSO2 API Manager会返回一个立即过期的令牌

时间:2018-04-27 10:49:40

标签: oauth wso2 wso2-am

我正在使用WSO2 APIM 2.1.0。我遵循了这个guide,我设法使一切正常,但在最后一步生成访问令牌以调用我的API,我遇到了一个问题。我打电话来获取我的令牌:

curl -k -d "grant_type=client_credentials&scope=test" -H "Authorization: Basic <base64id+secret>, Content-Type: application/x-www-form-urlencoded" http://localhost:8080/v1/token

我实际上得到了我的令牌

{"scope":"test","access_token":"67d45764-a4d3-4467-a0cc-67df34e53b28","token_type":"bearer","expires_in":3600}

然后我尝试用它来调用我的api我得到以下错误:

  

API访问失败:/ api / 1,版本:1状态:(900901) - 凭据无效。确保您已提供正确的访问令牌

当我直接检查WSO2 APIM Store界面时,我没有看到访问令牌。此外,如果我尝试从它工作的界面生成它,我得到一个访问令牌不能正常工作,如果我重新加载我的页面它消失。我显然做错了什么,但我无法弄清楚是什么。 是否有一些配置未在上述指南中指定?

我已使用http://127.0.0.1:8080/v1/token修改了 TokenAPI .xml中的端点,但我不知道撤销端点是什么。

2 个答案:

答案 0 :(得分:0)

WSO2 APIM商店仅用于测试目的。通过卷曲生成的令牌与Store界面完全分开。

在您的情况下,请检查api范围是否设置正确。 (当您使用范围'test'生成令牌时,api也应该具有测试范围)

答案 1 :(得分:0)

我也运行了一台Identity Server,并没有考虑检查配置。我必须取消注释Identity Server中api-manager.xml的APIKeyManager部分。我不明白为什么只有一个配置设置会给你一个令牌而不是正确的令牌,它不应该给你一个令牌或抛出一个错误,说IS中的配置丢失了什么。