/
AMachine
/
MMDB_Backend
Обзор
Документация
Войти
/
AMachine
/
MMDB_Backend
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
MMDB.WebApi/Extensions/AddApiAuth.cs
47 строк
2 KB
AssaultMachine
init
04 май 2025, 20:49
04 май 2025, 20:49
5d371a1
Код
Авторство
О чём код?
using System.Text; using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.IdentityModel.Tokens; namespace MMDB.WebApi.Extensions; public static class AddApiAuth { public static IServiceCollection AddJwtAuthentication(this IServiceCollection services, IConfiguration configuration) { services.AddAuthentication(options => { options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; } ).AddJwtBearer(options => { var jwtOptions = configuration.GetSection("JwtOptions"); options.TokenValidationParameters = new TokenValidationParameters { ValidateIssuer = true, ValidateAudience = true, ValidateLifetime = true, ValidateIssuerSigningKey = true, ValidIssuer = jwtOptions.GetSection("Issuer").Value, ValidAudience = jwtOptions.GetSection("Audience").Value, IssuerSigningKey = new SymmetricSecurityKey( Encoding.UTF8.GetBytes(jwtOptions.GetSection("SecretKey").Value!) ) }; options.Events = new JwtBearerEvents { OnMessageReceived = context => { context.Token = context.Request.Cookies["access"]; return Task.CompletedTask; } }; }); services.AddAuthorization(); return services; } }