Archived
Private
Public Access
1
0

Initial commit

This commit is contained in:
2022-09-04 12:03:44 +02:00
commit 15f48d259f
91 changed files with 22716 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
using Microsoft.AspNetCore.Authentication;
namespace Backend.Security.Authentication {
public class JwtTokenAuthenticationHandlerOptions : AuthenticationSchemeOptions {
// Options for the authentication handler.
// Currently: None
}
}

View File

@@ -0,0 +1,11 @@
using Backend.Options;
namespace Backend.Security.Authentication {
public class JwtTokenAuthenticationOptions : OptionsFromConfiguration {
public override string Position => "Authentication";
public string RefreshTokenExpirationTimeInHours { get; set; }
public string AccessTokenExpirationTimeInMinutes { get; set; }
public string DebugAccessToken { get; set; }
}
}

View File

@@ -0,0 +1,5 @@
namespace Backend.Options {
public abstract class OptionsFromConfiguration {
public abstract string Position { get; }
}
}

View File

@@ -0,0 +1,17 @@
namespace Backend.Options {
public static class OptionsFromConfigurationExtensions {
public static T AddOptionsFromConfiguration<T>(this IServiceCollection services, IConfiguration configuration)
where T : OptionsFromConfiguration {
T optionsInstance = (T)Activator.CreateInstance(typeof(T));
if (optionsInstance == null) return null;
string position = optionsInstance.Position;
services.Configure((Action<T>)(options => {
IConfigurationSection section = configuration.GetSection(position);
if (section != null) {
section.Bind(options);
}
}));
return optionsInstance;
}
}
}