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($"{prefix}:{nameof(Authority)}"); RequireHttpsMetadata = configuration.GetValue($"{prefix}:{nameof(RequireHttpsMetadata)}"); SaveToken = configuration.GetValue($"{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 } }