Example #1
0
            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);
            }
Example #2
0
            /// <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);
            }
Example #3
0
            /// <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);
                    }
                }
            }