Получить идентификатор от Аутентификации в API ASP.NET Ядро 5

#asp.net #api #authentication #asynchronous #asp.net-web-api

Вопрос:

Я хочу спросить, как получить Идентификатор Пользователя При Аутентификации ?

В классе аутентификации мне удалось получить идентификатор пользователя, но в классе GetAll я не могу получить идентификатор пользователя из Auth. Пожалуйста, помогите мне

Проверка подлинности пользователя файла

     [AllowAnonymous]
    [HttpPost("authenticate")]
    public async Task<IActionResult> Authenticate([FromBody] AuthenticateModel model)
    {
        var tokens = new Token();
        var user = _userService.Authenticate(model.Username, model.Password);

        if (user == null)
            return BadRequest(new { message = "Username or password is incorrect" });

        var tokenHandler = new JwtSecurityTokenHandler();
        var key = Encoding.ASCII.GetBytes(_appSettings.Secret);
        var tokenDescriptor = new SecurityTokenDescriptor
        {
            Subject = new ClaimsIdentity(new Claim[]
            {
                new Claim(ClaimTypes.Name, user.Id.ToString())
            }),
            Expires = DateTime.Now.AddHours(8),
            SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
        };
        var token = tokenHandler.CreateToken(tokenDescriptor);
        var tokenString = tokenHandler.WriteToken(token);

        tokens.UserId       = user.Id;
        tokens.Value        = tokenString;
        tokens.Login_dt     = DateTime.Now;
        tokens.Login_time   = DateTime.Now.AddHours(8);

        _context.Tokens.Add(tokens);
        await _context.SaveChangesAsync();

        // return basic user info and authentication token
        return Ok(new
        {
            Id = user.Id,
            Username = user.Username,
            Token = tokenString
        });
        
    }
 

Файл UserController, Получить все()

     [HttpGet]
    public async Task<IEnumerable<User>> GetAll()
    {
        var log = new Log();
        var result = await _userService.GetAll();

        return resu<
    }
 

Я хочу получить user.id как и при аутентификации (tokens.userid = user.id)

Комментарии:

1. Я не пользуюсь Microsoft. Идентичность