微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

User.Identity.GetUserId 在 wso2 令牌中返回用户名而不是用户 ID

如何解决User.Identity.GetUserId 在 wso2 令牌中返回用户名而不是用户 ID

我正在使用 WSO2 身份服务器并在生成令牌之后。 当我使用令牌调用 API 时,我将 User.Identity.GetUserId() 作为用户名,在我们的案例中发生在电子邮件中,而不是定义的唯一用户 ID。 我希望 GetUserId 应该返回用户 ID。 我得到的有效负载如下: namid 在这里用户 ID。

{
  "sub": "supriyad19@getnada.com","aud": "z21RCaZ_ehgaO_5mO8YgxkPUdqMa","unique_name": "supriyad19@getnada.com","nbf": 1616692647,"role": "Admin","azp": "z21RCaZ_ehgaO_5mO8YgxkPUdqMa","scope": "email openid profile","iss": "https://demo-identity.onblick.com/oauth2/token","nameid": "6ee0b06f-e9e4-4f91-87ea-8c1310e9c505","exp": 1616696247,"iat": 1616692647,"jti": "9fca536e-d753-4f35-b7b8-95f1384891ce"
}

谁能帮我解决这个问题。

enter image description here

[Route("Employee/ExportWorkforcetoCSV")]
        [HttpPost]
        [Authorize(Roles = "HRManager")]
        public async Task<string> ExportWorkforce(ExportRequestModel model)
        {
           var userId = User.Identity.GetUserId();

这里 JWT 令牌应提供 sub 作为 userId,它是存储在 db 中的唯一标识 id。 User.Identity.GetUserId();提供用户 ID,并在此 ID 的帮助下,我们进一步进行数据库调用获取详细信息。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。