26 lines
972 B
C#
26 lines
972 B
C#
|
using Microsoft.Extensions.Configuration;
|
|||
|
using Microsoft.Extensions.DependencyInjection;
|
|||
|
using Mirea.Api.Endpoint.Common.Services.Security;
|
|||
|
using Mirea.Api.Endpoint.Configuration.General.Settings;
|
|||
|
using Mirea.Api.Security;
|
|||
|
using Mirea.Api.Security.Common.Interfaces;
|
|||
|
|
|||
|
namespace Mirea.Api.Endpoint.Configuration.AppConfig;
|
|||
|
|
|||
|
public static class SecureConfiguration
|
|||
|
{
|
|||
|
public static IServiceCollection AddSecurity(this IServiceCollection services, IConfiguration configuration)
|
|||
|
{
|
|||
|
services.AddSecurityServices(configuration);
|
|||
|
|
|||
|
services.AddSingleton<IAccessToken, JwtTokenService>();
|
|||
|
services.AddSingleton<IRevokedToken, MemoryRevokedTokenService>();
|
|||
|
|
|||
|
if (configuration.Get<CacheSettings>()?.TypeDatabase == CacheSettings.CacheEnum.Redis)
|
|||
|
services.AddSingleton<ICacheService, DistributedCacheService>();
|
|||
|
else
|
|||
|
services.AddSingleton<ICacheService, MemoryCacheService>();
|
|||
|
|
|||
|
return services;
|
|||
|
}
|
|||
|
}
|