Токен JWT возвращает NULL Вход в API .NETC#

Место общения программистов C#
Ответить
Anonymous
 Токен JWT возвращает NULL Вход в API .NET

Сообщение Anonymous »

Пытаюсь сгенерировать токен JWT для ответа API для входа в систему, но он возвращает значение null.
Это стандартный метод JWT для создания токена, проверьте мой код ниже, я также добавлю изображения отладки.

Код: Выделить всё

public class UserRepository : IUserRepository
{
private readonly AppDbContext _db;
private string secretkey;

public UserRepository(AppDbContext db, IConfiguration config)
{
_db = db;
secretkey = config.GetValue("ApiSettings", "Secret");
}

public async Task Login(LoginRequestDTO loginRequestDto)
{
var user = await _db.Users.FirstOrDefaultAsync(x => x.UserName.ToLower() == loginRequestDto.UserName.ToLower());

if (user == null)
{
return new LoginResponseDTO()
{
Token = "",
User = null
};
}

// if user was found generate then the JWT Token

var tokenHandler = new JwtSecurityTokenHandler();
var key = Encoding.ASCII.GetBytes(secretkey);
var tokenDescriptor = new SecurityTokenDescriptor()
{
Subject = new ClaimsIdentity(new Claim[]
{
new Claim(ClaimTypes.Name, user.Name),
new Claim(ClaimTypes.Role, user.Role)
}),
Expires = DateTime.UtcNow.AddDays(5),
SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
};

var token = tokenHandler.CreateToken(tokenDescriptor);

LoginResponseDTO loginResponse = new()
{
Token = tokenHandler.WriteToken(token),
User = user,
};
return loginResponse;
}
}
Изображение

Пытался изменить срок действия, претензии, все, но ничего не работает


Подробнее здесь: https://stackoverflow.com/questions/791 ... -api-login
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»