IDX10603: Алгоритм «HS256» требует, чтобы SecurityKey.KeySize был больше «128» бит. KeySize сообщил: «32». Имя параметраC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 IDX10603: Алгоритм «HS256» требует, чтобы SecurityKey.KeySize был больше «128» бит. KeySize сообщил: «32». Имя параметра

Сообщение Anonymous »

Я просто работал с веб-API Asp.Net Core и реализовал аутентификацию. И я вызываю этот API из приложения Angular. Но я всегда получаю сообщение об ошибке, как показано ниже.


IDX10603: Алгоритм: «HS256» требует, чтобы SecurityKey.KeySize был больше, чем « 128 бит. KeySize сообщил: «32». Имя параметра: key.KeySize


Ниже приведен мой код для ConfigurationServices в Startup.cs файл.

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

public IServiceProvider ConfigureServices(IServiceCollection services)
{
services.AddDbContext(option => option.UseInMemoryDatabase("AngularApp"));

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

var signinKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("Secret phase"));

services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(cfg =>
{
cfg.RequireHttpsMetadata = false;
cfg.SaveToken = true;
cfg.TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters()
{
IssuerSigningKey = signinKey,
ValidateAudience = false,
ValidateIssuer = false,
ValidateLifetime = false,
ValidateIssuerSigningKey = true,
ValidateActor = false,
ClockSkew = TimeSpan.Zero
};
});
services.AddMvc();

var serviceProvider = services.BuildServiceProvider();
return serviceProvider;
}
И я использую JwtPackageв своем контроллере следующим образом.

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

JwtPackage CreateJwtToken(User usr)
{
var signinKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("this is my custom Secret key for authnetication"));
var signInCredentials = new SigningCredentials(signinKey, SecurityAlgorithms.HmacSha256);
var claims = new Claim[] {
new Claim(JwtRegisteredClaimNames.Sub,usr.Id)
};
var jwt = new JwtSecurityToken(claims: claims, signingCredentials: signInCredentials);
var encodedJwt = new JwtSecurityTokenHandler().WriteToken(jwt);
return new JwtPackage() { FirstName = usr.FirstName, Token = encodedJwt };
}
Можете ли вы помочь мне решить эту проблему? Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/472 ... be-greater
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • IDX10603: Алгоритм «HS256» требует, чтобы SecurityKey.KeySize был больше «128» бит. KeySize сообщил: «32». Имя параметра
    Anonymous » » в форуме C#
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • IDX10603: Алгоритм «HS256» требует, чтобы SecurityKey.KeySize был больше «128» бит. KeySize сообщил: «32». Имя параметра
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • C# AES: Как зашифровать данные с помощью пароля длиной не 128 192 256 бит?
    Гость » » в форуме C#
    0 Ответы
    71 Просмотры
    Последнее сообщение Гость
  • C# AES: Как зашифровать данные с помощью пароля длиной не 128 192 256 бит?
    Гость » » в форуме C#
    0 Ответы
    38 Просмотры
    Последнее сообщение Гость
  • Как умножить 2 массива uint64_t, представляющие 128 бит?
    Anonymous » » в форуме C++
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous

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