如何解决WSO2 APIM 角色验证
我使用 WSO2 IS (5.10.0) 作为 APIM (3.2.0) 的密钥管理器。我已经发布了一个由范围保护的 graphql API(比如基于名为“test”的角色的“test_scope”)。我已经使用默认应用程序订阅了 API 并生成了密钥。当我生成具有范围 ('test_scope') 的访问令牌并调用安全 API 时,即使未将所需角色 ('test') 分配给用户,我也会收到有效响应。下面是我正在使用的 curl 命令。
curl -k -X POST https://<IP>:8243/token -d "grant_type=password&username=Username&password=Password&scope=test_scope"
-H "Authorization: Basic Base64(consumer-key:consumer-secret)"
如何克服这个问题?
解决方法
这是因为您没有在 IS 的服务提供商设置中为您的应用程序启用范围验证器。
在IS管理控制台中;
- 转到服务提供商列表
- 转到您的应用程序的服务提供商(例如:admin_DefaultApplication_SANDBOX)并选择“编辑”
- 转到“入站身份验证配置”>“OAuth/OpenID Connect 配置”并选择“编辑”
- 启用“基于角色的范围验证器”
现在只有具有创建范围的相关角色的用户才能访问您的 API
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。