Updated configuration

This commit is contained in:
Veljko Tosic
2026-02-14 18:47:50 +01:00
parent c5b08de0a2
commit 888db766a3
3 changed files with 16 additions and 1 deletions

View File

@@ -10,6 +10,7 @@ public static class ConfigurationEnvExtensions
private const string JwtAudience = "JWT_AUDIENCE"; private const string JwtAudience = "JWT_AUDIENCE";
private const string JwtKey = "JWT_KEY"; private const string JwtKey = "JWT_KEY";
private const string JwtExpirationMinutes = "JWT_EXPIRATION_MINUTES"; private const string JwtExpirationMinutes = "JWT_EXPIRATION_MINUTES";
private const string JwtRefreshExpirationDays = "JWT_REFRESH_TOKEN_EXPIRATION_DAYS";
extension(IConfiguration configuration) extension(IConfiguration configuration)
{ {
@@ -38,6 +39,11 @@ public static class ConfigurationEnvExtensions
return configuration.GetEnvInt(configuration.GetEnvOrDefault(JwtExpirationMinutes, "60")); return configuration.GetEnvInt(configuration.GetEnvOrDefault(JwtExpirationMinutes, "60"));
} }
public int GetEnvJwtRefreshExpirationDays()
{
return configuration.GetEnvInt(configuration.GetEnvOrDefault(JwtRefreshExpirationDays, "7"));
}
private string GetEnvForSure(string key) private string GetEnvForSure(string key)
{ {
var value = configuration[key]; var value = configuration[key];

View File

@@ -1,9 +1,11 @@
using AipsCore.Application.Abstract.UserContext;
using AipsCore.Domain.Abstract; using AipsCore.Domain.Abstract;
using AipsCore.Domain.Models.Shape.External; using AipsCore.Domain.Models.Shape.External;
using AipsCore.Domain.Models.User.External; using AipsCore.Domain.Models.User.External;
using AipsCore.Domain.Models.Whiteboard.External; using AipsCore.Domain.Models.Whiteboard.External;
using AipsCore.Domain.Models.WhiteboardMembership.External; using AipsCore.Domain.Models.WhiteboardMembership.External;
using AipsCore.Infrastructure.DI.Configuration; using AipsCore.Infrastructure.DI.Configuration;
using AipsCore.Infrastructure.Persistence.Authentication.RefreshToken;
using AipsCore.Infrastructure.Persistence.Db; using AipsCore.Infrastructure.Persistence.Db;
using AipsCore.Infrastructure.Persistence.Shape; using AipsCore.Infrastructure.Persistence.Shape;
using AipsCore.Infrastructure.Persistence.User; using AipsCore.Infrastructure.Persistence.User;
@@ -28,10 +30,13 @@ public static class PersistenceRegistrationExtensions
}); });
services.AddTransient<IUnitOfWork, EfUnitOfWork>(); services.AddTransient<IUnitOfWork, EfUnitOfWork>();
services.AddTransient<IUserRepository, UserRepository>(); services.AddTransient<IUserRepository, UserRepository>();
services.AddTransient<IWhiteboardRepository, WhiteboardRepository>(); services.AddTransient<IWhiteboardRepository, WhiteboardRepository>();
services.AddTransient<IWhiteboardMembershipRepository, WhiteboardMembershipRepository>(); services.AddTransient<IWhiteboardMembershipRepository, WhiteboardMembershipRepository>();
services.AddTransient<IShapeRepository, ShapeRepository>(); services.AddTransient<IShapeRepository, ShapeRepository>();
services.AddTransient<IRefreshTokenRepository, RefreshTokenRepository>();
return services; return services;
} }

View File

@@ -4,6 +4,9 @@ using AipsCore.Application.Common.Authentication;
using AipsCore.Domain.Models.User.Options; using AipsCore.Domain.Models.User.Options;
using AipsCore.Infrastructure.DI.Configuration; using AipsCore.Infrastructure.DI.Configuration;
using AipsCore.Infrastructure.Persistence.Authentication; using AipsCore.Infrastructure.Persistence.Authentication;
using AipsCore.Infrastructure.Persistence.Authentication.AuthService;
using AipsCore.Infrastructure.Persistence.Authentication.Jwt;
using AipsCore.Infrastructure.Persistence.Authentication.UserContext;
using AipsCore.Infrastructure.Persistence.Db; using AipsCore.Infrastructure.Persistence.Db;
using AipsCore.Infrastructure.Persistence.User; using AipsCore.Infrastructure.Persistence.User;
using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Authentication.JwtBearer;
@@ -23,7 +26,8 @@ public static class UserContextRegistrationExtension
Issuer = configuration.GetEnvJwtIssuer(), Issuer = configuration.GetEnvJwtIssuer(),
Audience = configuration.GetEnvJwtAudience(), Audience = configuration.GetEnvJwtAudience(),
Key = configuration.GetEnvJwtKey(), Key = configuration.GetEnvJwtKey(),
ExpirationMinutes = configuration.GetEnvJwtExpirationMinutes() ExpirationMinutes = configuration.GetEnvJwtExpirationMinutes(),
RefreshTokenExpirationDays = configuration.GetEnvJwtRefreshExpirationDays()
}; };
services.AddSingleton(jwtSettings); services.AddSingleton(jwtSettings);