ASP.NET 声明 NameIdentifier Id 获取转换错误

我对这段代码有问题:


private async Task<object> GenerateJwtToken(string email, User user)

{

    var claims = new List<Claim>

    {

        new Claim(JwtRegisteredClaimNames.Sub, email),

        new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),

        new Claim(ClaimTypes.NameIdentifier, user.Id)

    };

用户扩展 IdentityUser。问题是我得到:


无法从 'int' 转换为 'System.Security.Claims.ClaimsIdentity'”。即使对于 ClaimTypes.NameIdentifier 我也收到错误:“无法从 'string' 转换为 'System.IO.BinaryReader'


如果我将 Id 更改为其他内容,例如电子邮件,或者 firstName 错误消失...找不到任何有关它的信息。我对这段代码有问题:


private async Task<object> GenerateJwtToken(string email, User user)

{

    var claims = new List<Claim>

    {

        new Claim(JwtRegisteredClaimNames.Sub, email),

        new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),

        new Claim(ClaimTypes.NameIdentifier, user.Id)

    };

用户扩展 IdentityUser。问题是我得到:


无法从 'int' 转换为 'System.Security.Claims.ClaimsIdentity'”。即使对于 ClaimTypes.NameIdentifier 我也收到错误:“无法从 'string' 转换为 'System.IO.BinaryReader'


如果我将 Id 更改为其他内容,例如电子邮件,或者 firstName 错误消失...找不到任何有关它的信息。


达令说
浏览 402回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP