【问题标题】:WSO2 API Manager with third party key manager returns a token which expires immediately带有第三方密钥管理器的 WSO2 API 管理器返回一个立即过期的令牌
【发布时间】:2018-04-27 10:49:40
【问题描述】:

我正在使用 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 商店界面时,我没有看到访问令牌。另外,如果我尝试从它工作的界面生成它,我会得到一个不能正常工作的访问令牌,如果我重新加载我的页面,它就会消失。我显然做错了什么,但我不知道是什么。 是否存在上述指南中未指定的配置?

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

【问题讨论】:

    标签: oauth wso2 wso2-am


    【解决方案1】:

    WSO2 APIM 商店仅用于测试目的。通过 curl 生成的令牌与 Store 接口完全分离。

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

    【讨论】:

    • 我已经这样做了,并在我的 api 中添加了一个范围键“test”并将其分配给我的资源,但仍然是相同的错误消息。
    【解决方案2】:

    我也有一个身份服务器正在运行,但没有考虑检查配置。我不得不取消注释 Identity Server 中 api-manager.xml 的 APIKeyManager 部分。我不明白为什么只有一个配置设置会给你一个令牌而不是正确的那个,它不应该给你一个令牌或抛出一个错误,说 IS 中缺少配置或其他东西。

    【讨论】:

      猜你喜欢
      • 2016-08-22
      • 1970-01-01
      • 1970-01-01
      • 2021-07-04
      • 2017-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多