Files
Examples/GerstITS.Examples.Api/Common/Configurations/WebApiConfiguration.OpenId.cs
2023-12-18 12:10:34 +01:00

34 lines
1.1 KiB
C#

using GerstITS.Authentication.OpenId;
using GerstITS.System.Configurations;
using Microsoft.Extensions.Configuration;
namespace GerstITS.Examples.Api.Configurations;
internal class OpenIdConfiguration : IOpenIdConfiguration
{
#region Constructors
public OpenIdConfiguration(string parentPrefix,
Microsoft.Extensions.Configuration.IConfiguration configuration)
{
var prefix = $"{parentPrefix}:{this.ToConfigurationPrefix()}";
Authority = configuration.GetValue<string>($"{prefix}:{nameof(Authority)}");
RequireHttpsMetadata = configuration.GetValue<bool>($"{prefix}:{nameof(RequireHttpsMetadata)}");
SaveToken = configuration.GetValue<bool>($"{prefix}:{nameof(SaveToken)}");
Validate = new OpenIdValidationConfiguration(prefix, configuration);
}
#endregion
#region IOpenIdConfiguration
public string Authority { get; }
public bool RequireHttpsMetadata { get; }
public bool SaveToken { get; }
public IOpenIdValidationConfiguration Validate { get; }
#endregion
}