У меня есть следующий метод аутентификации пользователя с помощью JWT
public async Task<IActionResult> Login([FromBody] Usuario usuario)
if (ModelState.IsValid)
{
var result = await _signInManager.PasswordSignInAsync(usuario.Email, usuario.Password, isPersistent: false, lockoutOnFailure: false);
if (result.Succeeded)
{
return BuildTokenAsync(usuario);
}
else
{
ModelState.AddModelError(string.Empty, "Invalid login attempt.");
return BadRequest(ModelState);
}
}
private IActionResult BuildTokenAsync(Usuario usuario)
{
var claims = new[]
{
new Claim(JwtRegisteredClaimNames.UniqueName, usuario.Email),
new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString())
};
var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["Llave_super_secreta"]));
var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
var expiration = DateTime.UtcNow.AddHours(1);
JwtSecurityToken token = new JwtSecurityToken(
issuer: "https://mydomain",
audience: "https://mydomain",
claims: claims,
expires: expiration,
signingCredentials: creds);
return Ok(new
{
token = new JwtSecurityTokenHandler().WriteToken(token),
expiration = expiration
});
}
}
В localhost проблем нет, можно отправить мне токен.
Результат в localhost
Но в сервисе появляется ошибка 500.
Результат на сервере
Если я отправлю вызов другой службе наСервер, нет проблем.Все хорошо, просто для аутентификации у меня проблема.
Сервер имеет сертификат SSL.
Конфигурация сервера
Любая идея, что это можетбыть?