繁体   English   中英

如何从 jwt 令牌中获取用户 ID?

[英]How to get user id from jwt token?

网络核心应用。 通过 swagger 我正在对我的 web api 应用程序进行身份验证。 我在 swagger 的每个请求中发送 JWT 令牌。 此 jwt 令牌包含 Azure 用户 objectid。 我想找回它。 我试过如下。

userId = _httpContextAccessor.HttpContext.User.Claims.First(i => i.Type == ClaimTypes.NameIdentifier).Value;

这没有给我正确的对象标识符。 我可以在我的令牌中看到对象标识符,如下所示。

jwt令牌

在下图中有对象标识符,但我无法检索它。 有人可以帮我吗? 任何帮助,将不胜感激。 谢谢

如果您知道要查找的声明的名称,则可以使用它而不是ClaimTypes类中定义的ClaimTypes

userId = _httpContextAccessor.HttpContext.User.Claims.First(i => i.Type == "CLAIM_NAME").Value;

ClaimTypes类不是枚举,它只包含一些预定义的常量字符串值。

在此处输入图片说明

暂无
暂无

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

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