Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Api 即使在验证令牌后,用户仍为null_Api_Asp.net Core_Jwt_Claims - Fatal编程技术网

Api 即使在验证令牌后,用户仍为null

Api 即使在验证令牌后,用户仍为null,api,asp.net-core,jwt,claims,Api,Asp.net Core,Jwt,Claims,我有一个在Asp.NETCore2.1中设计的web API,我使用的是使用多租户令牌的自签名令牌 令牌已通过控制器上的[Authorize]属性成功验证。现在,我尝试使用User.FindFirst(“sub”)?.Value访问同一主题中的主题 即使令牌经过身份验证,User的值也为空。我期待来自已验证令牌的索赔 我找不到用户值为空的原因。我找不到用户值为空的原因。 有什么问题吗?1。您如何知道“令牌已成功通过身份验证”?2.请向我们展示相关代码,包括启动和控制器。我能够判断它已被授权,因为

我有一个在Asp.NETCore2.1中设计的web API,我使用的是使用多租户令牌的自签名令牌

令牌已通过控制器上的
[Authorize]
属性成功验证。现在,我尝试使用
User.FindFirst(“sub”)?.Value
访问同一主题中的主题

即使令牌经过身份验证,
User
的值也为空。我期待来自已验证令牌的索赔

我找不到
用户
值为空的原因。我找不到
用户
值为空的原因。
有什么问题吗?

1。您如何知道“令牌已成功通过身份验证”?2.请向我们展示相关代码,包括启动和控制器。我能够判断它已被授权,因为具有
[Authorize]
属性的控制器中的端点能够响应和返回数据。我可以通过从
IHttpContextAccessor
访问名称来解决这个问题。我在控制器中注入了
IHttpContextAccessor
,并使用
httpContextAccessor.HttpContext.User.Identity.name
拉入。但是我仍然不明白为什么用户不在
system.principal.identity.user
中。ASP.NET核心中根本没有这样一个内置的
system.principal.identity.user
。用户主体应该存储在
HttpContext.user
中。明白了。谢谢