我已经开始面临一个问题,即在我们的WSO2实例请求新的访问令牌后,我不能再发出API请求。
获取新的新令牌并发出后续API请求后,我收到以下错误:
code: 900901
description: Access failure for API: xxxx, version: v1 with key: <access_token_here>. Make sure your have given the correct access token
message: Invalid Credentials
在我们的API Manager系统日志(碳应用程序)中,我可以看到以下内容:
Invalid OAuth Token : Invalid input. Access token validation failed
我理解错误是什么,我只是不明白为什么它在我刚刚请求新令牌并尝试将其用于API请求后才发生。
我能够直到最近才对API请求做好准备。我唯一能想到的是,由于某种原因,我对API的访问可能会被阻止。
在进行API请求,处理到期(刷新令牌)以及使用检索到的新访问令牌重新执行原始API请求时,我一直在尝试处理令牌过期情况。我遇到了一些情况,我写的代码是行为不当,最后发送垃圾邮件的WSO2网关,所以我想知道这是否已达到我已经违反的限制阈值,因此我的API访问受到限制?我订阅的API是无限使用,所以我看不出它是这个。
我可以使用其他帐户请求新令牌并发出后续API请求,因此这让我认为它必须是我自己登录的特定内容。无论如何我可以通过查看某些WSO2日志来进一步调试吗?
仅供参考 - 我们正在使用WSO2 API Manager版本1.9
答案 0 :(得分:0)
您是如何申请新的访问令牌的?您是否使用API Store控制台?在这种情况下,前一个令牌被撤销(无效)并请求新令牌。
使用特定于应用程序的令牌(client_credentials)时,似乎只有一个令牌实例被分配给特定的应用程序(ClientKey),并且在到期或被撤销之前会返回该实例。我假设它与用户令牌(密码或代码配置文件)类似。
我们利用&#34;生产&#34;和#34; Sandbox&#34;已配置应用程序的键。我建议你保持&#34;生产&#34;您的真实应用程序使用的密钥,您可以&#34;播放&#34;在带有沙箱令牌的API Store控制台上。
答案 1 :(得分:0)
此错误只有2个原因。
要调试此问题,请检查令牌响应的refs/stash
。此外,您可以在validity_period
表中检查令牌状态。