WSO2 API管理器-将客户端角色添加到密码授予JWT

WSO2 API管理器-将客户端角色添加到密码授予JWT,wso2,wso2-am,Wso2,Wso2 Am,如何将用户角色添加到通过OAuth2密码授予生成的JWT中,如下所述: 我尝试了这种方法,但它只向传递到后端的JWT添加自定义声明,但JWT中并没有用于对客户端进行身份验证的内容 我试图做的是在Angular应用程序中添加一个登录页面,并在成功进行身份验证时调用https://[APIM]/token来获取令牌。角色对于根据用户角色呈现正确的菜单非常重要 提前感谢,您需要请求具有openid作用域的令牌,以检索作为JWT令牌声明的附加用户信息。有关更多详细信息,请参阅 例如,如果希望在生成的JW

如何将用户角色添加到通过OAuth2密码授予生成的JWT中,如下所述:

我尝试了这种方法,但它只向传递到后端的JWT添加自定义声明,但JWT中并没有用于对客户端进行身份验证的内容

我试图做的是在Angular应用程序中添加一个登录页面,并在成功进行身份验证时调用
https://[APIM]/token
来获取令牌。角色对于根据用户角色呈现正确的菜单非常重要


提前感谢,

您需要请求具有openid作用域的令牌,以检索作为JWT令牌声明的附加用户信息。有关更多详细信息,请参阅

例如,如果希望在生成的JWT中获得用户角色,可以添加
http://wso2.org/claims/role
索赔配置
下将索赔作为请求索赔从碳纤维控制台发送给您正在使用的服务提供商。有关更多详细信息,请参阅

然后,在调用令牌端点时,需要添加openid范围

curl -k -d "grant_type=password&username=<USERNAME>&password=<PASSWORD>&scope=openid" -H "Authorization: Basic <BASE64 ENCODED CONSUMER_KEY:CONSUMER_SECRET>, Content-Type: application/x-www-form-urlencoded" https://<GATEWAY_HOSTNAME>:<PORT>/token

希望这有帮助

是的,你说得对,我又问了一个问题,也得到了答案:。但是你的答案是对的,我会把它标记为帮助别人的正确答案。非常感谢。
{
  "sub": "admin",
  "aut": "APPLICATION_USER",
  "aud": "5af6EfSzqxS_dfmUnQ28sHdpZzYa",
  "nbf": 1610395871,
  "azp": "5af6EfSzqxS_dfmUnQ28sHdpZzYa",
  "scope": "openid",
  "iss": "https://localhost:9443/oauth2/token",
  "groups": [
    "Internal/subscriber",
    "Internal/creator",
    "Application/admin_DefaultApplication_PRODUCTION",
    "Application/apim_devportal",
    "Internal/publisher",
    "Internal/everyone",
    "Internal/devops",
    "Application/apim_admin_portal",
    "admin",
    "Internal/analytics",
    "Application/apim_publisher"
  ],
  "exp": 1610399471,
  "iat": 1610395871,
  "jti": "75ddfca2-5088-435d-825a-3320efc10036"
}