示例#1
0
        /// <summary>
        /// Carga el servicio de autenticación.
        /// </summary>
        /// <param name="services">Colección de servicios.</param>
        /// <param name="settings">Configuración del servicio de autenticación.</param>
        /// <returns>IServiceCollection | ApplicationException: si AuthenticationSettings es nulo.</returns>
        public static IServiceCollection LoadAuthentication(
            this IServiceCollection services,
            AuthenticationSettings settings)
        {
            var config = settings.ToIsNullOrEmptyThrow(nameof(settings));

            if (config.JsonWebTokenSettings?.Enabled == true)
            {
                services.LoadAuthJsonWebToken(config.JsonWebTokenSettings);
            }

            if (config.CookiesSettings?.Enabled == true)
            {
                services.LoadAuthCookies(config.CookiesSettings);
            }

            if (config.OAuthSettings?.Enabled == true)
            {
                // services.LoadOAuth(config.OAuthSettings);
                throw new NotImplementedException();
            }

            return(services);
        }