Отправить JWT с клиента на сервер - PullRequest
1 голос
/ 22 апреля 2019

Я хочу использовать аутентификацию JWT в ASP.NET Core 2.2, отправляю токен из тела и заголовка в почтальоне, но получил 401 ошибку,

код для создания токена:

var signature = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("Test API For JWT Authentication in ASP.NET Core 2.2"));
var header = new SigningCredentials(signature, SecurityAlgorithms.HmacSha256);
var payload = new JwtSecurityToken(claims: new List<Claim>
{
    new Claim(ClaimTypes.Name, userInfo.Username)

} , signingCredentials:header);

var token = new JwtSecurityTokenHandler().WriteToken(payload);

return token;
* 1005Конфигурация * startup.cs:
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
        .AddJwtBearer(options =>
        {
            options.TokenValidationParameters = new TokenValidationParameters()
            {
                ValidateIssuer = true,
                ValidateAudience = false,
                ValidateIssuerSigningKey = true,
                IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("Test API For JWT Authentication in ASP.NET Core 2.2"))
            };
        });

services.AddCors(options =>
{
    options.AddPolicy("Cors", builder =>
    {
        builder.AllowAnyOrigin()
               .AllowAnyHeader()
               .AllowAnyMethod()
               .Build();
    });
});

1 Ответ

1 голос
/ 22 апреля 2019

Убедитесь, что ваш запрос содержит заголовок authorization со значением Bearer access_token:

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