[英]How to Validate Token JWT Token that it comes from the same User in Web API C#
最近使用 Web API Core 构建了 JWT 令牌。 只需要认真澄清以下是细节
如果用户 A 是使用浏览器选项卡 A 登录的,并且请求已被处理并生成令牌。 如果用户 B 使用浏览器选项卡 B 登录并且请求已被处理并生成令牌。 如果我将用户 A 令牌发送给用户 B,会发生什么情况 如何验证此令牌是针对此特定登录用户的令牌?
我认为您可能误解了身份验证的一般工作方式。
在 JWT 身份验证中,“已登录”仅表示您发出的请求包含有效的不记名令牌。 这意味着发送有效令牌的用户始终是有效的登录用户,不需要任何进一步的验证。
但是,如果您需要基于 Authenticated 用户的更多信息,则可以从名为User
的控制器中的HttpContext
或ClaimsPrincipal
属性访问该信息。
例如,
string accessToken = await HttpContext.GetTokenAsync("Bearer", "access_token");
string userName = User.FindFirst(ClaimTypes.Name).Value;
注意:您必须明确存储您希望从User
属性中检索的声明。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.