繁体   English   中英

如何在 Web API C# 中验证来自同一用户的令牌 JWT 令牌

[英]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的控制器中的HttpContextClaimsPrincipal属性访问该信息。

例如,

string accessToken = await HttpContext.GetTokenAsync("Bearer", "access_token");
string userName = User.FindFirst(ClaimTypes.Name).Value;

注意:您必须明确存储您希望从User属性中检索的声明。

暂无
暂无

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

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