如何解决WSO2 APIM 3.1.0 - API 由一个用户运行,但不适用于具有相同角色的其他用户
我正在开发一个多租户应用程序,我有两个具有“管理员”角色的用户。第一个用户是“admin”,第二个用户是“abc”。当我为两个用户访问令牌时,两个用户都返回相同的范围。
{
"access_token": "d479b9e3-1def-31b4-b8a8-3033ae6467ab","refresh_token": "887c386b-2ec7-39c4-9bcf-c286f4dfda40","scope": "app_non-permission app_permission portal_access","token_type": "Bearer","expires_in": 1862
}
使用此令牌,我调用我订阅的 API,它适用于“admin”用户,但无法用于“abc”。 “abc”用户的错误信息如下。
<ams:fault xmlns:ams="http://wso2.org/apimanager/security">
<ams:code>900910</ams:code>
<ams:message>The access token does not allow you to access the requested resource</ams:message>
<ams:description>Access failure for API: /portal/1,version: 1 status: (900910) - The access token does not allow you to access the requested resource</ams:description>
</ams:fault>
我无法理解为什么它适用于一个用户而不适用于另一个用户,即使用户具有相同的角色并且令牌 API 也返回相同的范围。
解决方法
看着你的解释,我觉得“abc”用户也需要订阅 API。您在检索不记名令牌时可能使用了错误的“grant_type”。 [1] 如果您的“abc”用户无法使用自己的商店应用程序订阅 API,则另一种可能性是添加“应用程序共享”[2]。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。