Вопрос о токене JWT или ClaimsIdentity - PullRequest
0 голосов
/ 28 октября 2019

Visual Studio 2019 & Asp.Net Core 3.0

Настройка аутентификации Jwt на примере кода Asp.Net Core 3.0

Я просто пишу свой код следующим образом.

Но я меняю метод реализации

public interface IUserService
{
    Task<UserClaim> Authenticate(String username, String password);
    Task<UserClaim> SingleAsync(String username);
    IEnumerable<UserClaim> GetAll();
}


public class User
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public Int32 Id { get; set; }
    [StringLength(100)]
    public String Name { get; set; }
    [StringLength(60)]
    public String Password { get; set; }

    public UserClaim ConvertToUserClaim()
    {
        return new UserClaim() 
        { 
           Id = this.Id,
           Name = this.Name

        };
    }
}


public class UserClaim
{
    public Int32 Id { get; set; }
    public String Name { get; set; }
}

Это изменение исчерпало два дня моей жизни.

var claimsIdentity = this.User.Identity as ClaimsIdentity;
var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;

userId всегда будет нулевым, пока я не скачаю ранее упомянутую ссылку ипроверяйте кодовое слово за словом.

, а затем я заменил все UserClaim на User.

userId наконец-то получил ожидаемое значение.

Вопрос: почему это так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...