首页 > 解决方案 > 使用 wso2 APIM 的基于范围的访问令牌

问题描述

我有一个使用 APIM(版本 3.2.0)发布的 GraphQL API,该 API 受范围保护(比如名为 test_scope 的本地范围,它基于具有 API 订阅权限的名为 test 的角色)。我正在使用 WSO2 IS(版本 5.11.0)作为配置了 oauth/openid 连接的身份提供者。我想要达到的目标如下

  1. 通过使用 /oauth2/authorize IS 端点登录获取 jwt 令牌
  2. 使用步骤 1 中的令牌基于我的范围 (test_scope) 和 /oauth2/token APIM 端点获取 jwt 令牌。
  3. 使用第2步获取的token访问APIM发布的api端点

到目前为止,我尝试的是使用步骤 1 中的 jwt 访问令牌使用以下 curl 执行步骤 2。

curl -i -X POST -u <CLIENT_ID>:<Client_SECRET> -k -d 'grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion=<JWT>' -H 'Content-Type: application/x-www-form-urlencoded' https://<IP>:<Port>/oauth2/token

当我获得令牌并调用安全 API 端点时,它显示“用户无权访问资源”。如何获取具有所需范围的访问令牌以克服此问题。

标签: wso2-amwso2is

解决方案


推荐阅读