/
softailor
/
gridient
Обзор
Документация
Войти
/
softailor
/
gridient
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
backend/Gridient.Infrastructure.Authentication.Local/Extensions/ServiceCollectionExtensions.cs
53 строки
2 KB
Jenkins
Auto add
18 фев 2026, 10:19
18 фев 2026, 10:19
1e6c4f8
Код
Авторство
О чём код?
using Gridient.Core.Authorization; using Gridient.Core.Features; using Gridient.Infrastructure.Authentication.Local.Features; using Gridient.Infrastructure.Authentication.Local.Providers; using JwtOptions = Gridient.Infrastructure.Authentication.Local.Options.JwtOptions; using RegistrationOptions = Gridient.Core.Options.RegistrationOptions; using Gridient.Infrastructure.Authentication.Local.Services; using MediatR; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; namespace Gridient.Infrastructure.Authentication.Local.Extensions { public static class ServiceCollectionExtensions { public static IServiceCollection AddGridientLocalAuth( this IServiceCollection services, IConfiguration configuration) { // Настройка JWT Options services.Configure<JwtOptions>(configuration.GetSection("Jwt")); services.AddOptions<RegistrationOptions>() .Bind(configuration.GetSection("Registration")) .ValidateDataAnnotations(); // Регистрация сервисов services.AddSingleton<IPasswordHasher, BCryptPasswordHasher>(); services.AddScoped<ITokenService, JwtTokenService>(); services.AddScoped<ILocalAuthService, LocalAuthService>(); services.AddScoped<IRegistrationService, RegistrationService>(); services.AddScoped<IPasswordResetService, PasswordResetService>(); services.AddSingleton<IClientFeatureProvider, RegistrationFeatureProvider>(); services.AddSingleton<IClientFeatureProvider, LocalAuthFeatureProvider>(); // Регистрируем провайдер ресурсов и операций для пользователей services.AddSingleton<IResourceOperationProvider, UserResourceOperationProvider>(); return services; } /// <summary> /// Регистрирует MediatR handlers из Authentication.Local сборки /// </summary> public static IServiceCollection AddGridientLocalAuthMediatRHandlers(this IServiceCollection services) { services.AddMediatR(cfg => { cfg.RegisterServicesFromAssembly(typeof(ServiceCollectionExtensions).Assembly); }); return services; } } }