private static IDictionary <string, IdentityProviderClientConfigurationElement> GetIdentityProvidersFromConfig() { IDictionary <string, IdentityProviderClientConfigurationElement> identityProvierLookUp = new Dictionary <string, IdentityProviderClientConfigurationElement>(); RetailConfigurationSection retailConfiguration = (RetailConfigurationSection)ConfigurationManager.GetSection(OpenIdConnectUtilities.ConfigurationSectionName); foreach (IdentityProviderClientConfigurationElement provider in retailConfiguration.IdentityProviders) { identityProvierLookUp.Add(provider.Name, provider); } return(identityProvierLookUp); }
/// <summary> /// Gets the identity provider from configuration. /// </summary> /// <param name="name">The name of identity provider.</param> /// <returns>The identity provider client configuration element.</returns> public static IdentityProviderClientConfigurationElement GetIdentityProviderFromConfiguration(string name) { if (string.IsNullOrWhiteSpace(name)) { throw new ArgumentNullException(nameof(name)); } RetailConfigurationSection retailConfiguration = (RetailConfigurationSection)ConfigurationManager.GetSection(Utilities.RetailConfigurationSectionName); foreach (IdentityProviderClientConfigurationElement provider in retailConfiguration.IdentityProviders) { if (provider.Name == name) { return(provider); } } return(null); }
/// <summary> /// Configures the authentication. /// </summary> /// <param name="app">The application.</param> public void ConfigureAuth(IAppBuilder app) { app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = CookieConstants.ApplicationCookieAuthenticationType, LoginPath = new PathString("/SignIn"), CookieSecure = CookieSecureOption.Always }); app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType); // Loading Retail Configuration to access available Identity Providers. RetailConfigurationSection retailConfiguration = (RetailConfigurationSection)ConfigurationManager.GetSection(OpenIdConnectUtilities.ConfigurationSectionName); // Enumerating all available Identity Providers and creating a middleware for each of the provider. foreach (IdentityProviderClientConfigurationElement provider in retailConfiguration.IdentityProviders) { if (provider.ProviderType == IdentityProviderType.OpenIdConnect) { OpenIdConnectAuthenticationOptions options = GetOpenIdConnectAuthenticationOptions(provider); app.UseOpenIdConnectAuthentication(options); } } }