diff --git a/src/Gemstone.Security/AuthenticationProviders/OAuthAuthenticationProvider.cs b/src/Gemstone.Security/AuthenticationProviders/OAuthAuthenticationProvider.cs index 7d18a4bc..b5266466 100644 --- a/src/Gemstone.Security/AuthenticationProviders/OAuthAuthenticationProvider.cs +++ b/src/Gemstone.Security/AuthenticationProviders/OAuthAuthenticationProvider.cs @@ -90,6 +90,13 @@ private class ProviderClaim(string value, string description) : IProviderClaim public string LongDescription => string.Empty; } + // Constants + + /// + /// The section of the configuration file that could be used to configure the provider. + /// + public const string SettingsSection = "Security.OpenIDConnect"; + #endregion #region [ Constructors ] @@ -161,7 +168,7 @@ private static ClaimType[] ClaimTypes /// public static void DefineSettings(Settings settings) { - dynamic section = settings["Security.OpenIDConnect"]; + dynamic section = settings[SettingsSection]; section.Scopes = ("profile", "Defines the scopes requested from the OpenID Connect provider in a comma sepperated list."); section.ClientId = ("ClientID", "Defines the client ID of the application."); diff --git a/src/Gemstone.Security/AuthenticationProviders/WindowsAuthenticationProvider.cs b/src/Gemstone.Security/AuthenticationProviders/WindowsAuthenticationProvider.cs index 7fdf3a0e..c3473d3d 100644 --- a/src/Gemstone.Security/AuthenticationProviders/WindowsAuthenticationProvider.cs +++ b/src/Gemstone.Security/AuthenticationProviders/WindowsAuthenticationProvider.cs @@ -26,10 +26,10 @@ using System.DirectoryServices; using System.Linq; using System.Management; -using System.Runtime.CompilerServices; using System.Security.Claims; using System.Security.Principal; using System.Text.RegularExpressions; +using Gemstone.Configuration; using Microsoft.Extensions.DependencyInjection; namespace Gemstone.Security.AuthenticationProviders; @@ -84,6 +84,13 @@ private class ProviderClaim(string value, string description) : IProviderClaim public string LongDescription => string.Empty; } + // Constants + + /// + /// The section of the configuration file that could be used to configure the provider. + /// + public const string SettingsSection = "WindowsAuthentication"; + #endregion #region [ Constructors ] @@ -304,6 +311,18 @@ private static string Escape(string ldapValue) [GeneratedRegex(@"\\.|[()\0]")] private static partial Regex SpecialCharacterPattern(); + /// + /// Defines the settings used to configure the in the Configuration File. + /// + /// The instance in which to define the settings. + public static void DefineSettings(Settings settings) + { + dynamic section = settings[SettingsSection]; + + section.LDAPPath = ("", "Root path from which LDAP searches should be performed"); + section.AllowLocalAccounts = (false, "Indicates whether the UI will also search local Users and Groups"); + } + #endregion }