繁体   English   中英

wso2 apim 角色验证问题

[英]wso2 apim role validation issue

我使用 WSO2 IS (5.11.0) 作为 APIM 4.0.0 的密钥管理器。 我已经发布了一个 graphql API 由 scope 保护(比如基于名为“test”的角色的“test_scope”)。 我已经使用默认应用程序订阅了 API,并且还生成了密钥。 当我使用 scope('test_scope')生成访问令牌并调用安全的 API 时,即使未将所需角色('test')分配给用户,我也会得到有效响应。 下面是我正在使用的 curl 命令。

API 管理器将在令牌生成期间执行基于角色的验证。 因此,如果您使用分配了相应角色的用户生成 JWT 令牌,则 API 管理器将生成具有请求范围(绑定到角色)的访问令牌。

我相信您已经使用客户端凭据或密码授权生成了 JWT 令牌(无法在问题中找到 cURL :)),并且该令牌是由分配了相应角色的用户生成的。 为了更清楚地说明,当使用客户端凭据授权时,API 管理器将使用应用程序所有者作为用户来验证角色并提供范围。 而密码授权则使用相应的用户名(即发送)来验证角色和范围。

在运行时,网关将解码 JWT 令牌并验证所需的范围是否可用。 如果是,网关将继续请求,如果不是,则失败。

因此,要检查该过程,您可以使用同一租户中尚未分配特定角色的另一个用户,并使用密码授权生成令牌并调用 API(在这种情况下,将使用默认的 scope 生成令牌而不是提到的test_scope )。

希望这可以澄清并简要了解令牌生成和 scope 验证过程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM