【发布时间】:2019-01-27 00:20:37
【问题描述】:
我的 .NET CORE 2.1 Web api 存在一些问题。我使用身份框架和 JWT 令牌进行身份验证,但每当我尝试在控制器中获取当前用户时,我都会收到空引用错误。
据我所见,所有设置看起来都很好,我尝试手动设置 Identity 的密钥,但仍然出现相同的错误。有什么想法吗?
控制器:
var user = await _userManager.GetUserAsync(User);
Startup.cs:
public void ConfigureServices(IServiceCollection services)
{
services.AddIdentity<LoginUser, IdentityRole>(options => {
options.ClaimsIdentity.UserIdClaimType =
ClaimTypes.NameIdentifier;
})
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
}
令牌生成声明:
var claims = new List<Claim>
{
new Claim(JwtRegisteredClaimNames.Sub, user.Id),
new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()),
new Claim(JwtRegisteredClaimNames.Email, email),
new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString())
};
【问题讨论】:
标签: c# .net asp.net-core .net-core jwt