/// <summary>
        /// Check whether external authentication method is active
        /// </summary>
        /// <param name="method">External authentication method</param>
        /// <param name="settings">External authentication settings</param>
        /// <returns>True if method is active; otherwise false</returns>
        public static bool IsMethodActive(this IExternalAuthenticationProvider method, ExternalAuthenticationSettings settings)
        {
            if (method == null)
            {
                throw new ArgumentNullException(nameof(method));
            }

            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            if (settings.ActiveAuthenticationMethodSystemNames == null)
            {
                return(false);
            }

            foreach (string activeMethodSystemName in settings.ActiveAuthenticationMethodSystemNames)
            {
                if (method.SystemName.Equals(activeMethodSystemName, StringComparison.OrdinalIgnoreCase))
                {
                    return(true);
                }
            }

            return(false);
        }
 public UserExternalLoginQueryHandler(
     IExternalAuthenticationProvider externalAuthProvider,
     IUserRepository userRepository,
     IJwtTokenGenerator tokenGenerator,
     IUnitOfWork unitOfWork
     )
 {
     _externalAuthProvider = externalAuthProvider;
     _userRepository       = userRepository;
     _tokenGenerator       = tokenGenerator;
     _unitOfWork           = unitOfWork;
 }
예제 #3
0
 public MemberController(ILogger logger
                         , ISigninManager signinManager
                         , IExternalAuthenticationProvider externalAuthenticationProvider
                         , IMemberAppService memberService
                         , IUserStateWrapper userStateWrapper
                         )
 {
     _logger        = logger ?? throw new ArgumentNullException(nameof(logger));
     _signinManager = signinManager ?? throw new ArgumentNullException(nameof(signinManager));
     _externalAuthenticationProvider = externalAuthenticationProvider ?? throw new ArgumentNullException(nameof(externalAuthenticationProvider));
     _memberService    = memberService ?? throw new ArgumentNullException(nameof(memberService));
     _userStateWrapper = userStateWrapper ?? throw new ArgumentNullException(nameof(userStateWrapper));
 }
예제 #4
0
        private void ConfigureAuthentication()
        {
            if (BaseConfiguration.Settings == null || BaseConfiguration.Settings.ExternalProviders == null)
            {
                return;
            }

            foreach (AuthenticationProviderSection providerCfg in BaseConfiguration.Settings.ExternalProviders)
            {
                if (providerCfg.Active)
                {
                    Type     providerType = Type.GetType(providerCfg.Type);
                    object[] args         = new object[]
                    {
                        providerCfg.ClientId,
                        providerCfg.ClientSecret
                    };
                    IExternalAuthenticationProvider provider = (IExternalAuthenticationProvider)Activator.CreateInstance(providerType, args);

                    OAuthWebSecurity.RegisterClient(provider.AuthenticationClient, providerCfg.DisplayName, new Dictionary <string, object>());
                }
            }
        }
 public static AuthenticationMethodModel ToModel(this IExternalAuthenticationProvider entity)
 {
     return(entity.MapTo <IExternalAuthenticationProvider, AuthenticationMethodModel>());
 }