【发布时间】:2017-09-10 19:27:38
【问题描述】:
我在我的 Web API 项目中使用HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value 来获取请求用户,用于身份验证。 NameIdentifier 返回当前用户的电子邮件,而 Google 搜索表明它应该返回用户的 Id(在这种情况下是 Guid,如果这很重要)。
为什么会发生这种情况,如何在没有数据库查询的情况下返回当前用户的 ID?
【问题讨论】:
-
应用使用什么认证机制?是什么创建了 ClaimsPrincipal?是 .NET Core 2.0 吗?
-
是的,它是 .NET Core 2.0。我正在使用 JwtBearer 进行身份验证。我不熟悉 ClaimsPrinciple,所以我认为 JwtBearer 正在处理这个问题?
-
对不起,我的意思是身份验证(使用 JwtBeaer 作为 jwt 令牌)
-
您找到这个问题的答案了吗?编辑:几秒钟后找到它,我为此添加答案
标签: .net-core httpcontext