Example #1
0
        /// <summary>
        /// 获取外部认证设置
        /// </summary>
        /// <returns></returns>
        private async Task <ExternalAuthenticationEditDto> GetExternalAuthenticationsAsync()
        {
            var providers = _appConfiguration["Authentication:Provider"];

            var externalAuthentication = new ExternalAuthenticationEditDto()
            {
                UserActivationId        = await SettingManager.GetSettingValueAsync <int>(AppSettings.ExternalAuthentication.UserActivation),
                RequiredUserName        = await SettingManager.GetSettingValueAsync <bool>(AppSettings.ExternalAuthentication.UserActivationCondition.RequiredUserName),
                RequiredEmail           = await SettingManager.GetSettingValueAsync <bool>(AppSettings.ExternalAuthentication.UserActivationCondition.RequiredEmail),
                RequiredTelephone       = await SettingManager.GetSettingValueAsync <bool>(AppSettings.ExternalAuthentication.UserActivationCondition.RequiredTelephone),
                UseTelephoneforUsername = await SettingManager.GetSettingValueAsync <bool>(AppSettings.ExternalAuthentication.UserActivationCondition.UseTelephoneforUsername),
            };

            if (!providers.IsNullOrEmpty())
            {
                foreach (var provider in providers.Split(','))
                {
                    var item = new ExternalAuthenticationProviderEditDto()
                    {
                        ProviderName = provider,
                    };

                    var itemString = await SettingManager.GetSettingValueAsync(string.Format(AppSettings.ExternalAuthentication.ProviderName, provider));

                    if (!itemString.IsNullOrEmpty())
                    {
                        item = JsonConvert.DeserializeObject <ExternalAuthenticationProviderEditDto>(itemString);
                    }

                    externalAuthentication.ExternalAuthenticationProviders.Add(item);
                }
            }

            return(externalAuthentication);
        }
Example #2
0
        /// <summary>
        /// 更新外部登陆
        /// </summary>
        /// <param name="setting"></param>
        /// <returns></returns>
        private async Task UpdateExternalAuthenticationAsync(ExternalAuthenticationProviderEditDto setting)
        {
            var providers = _appConfiguration["Authentication:Provider"];

            if (!providers.Contains(setting.ProviderName))
            {
                return;
            }

            //保存单条设置
            await SettingManager.ChangeSettingForApplicationAsync(string.Format(AppSettings.ExternalAuthentication.ProviderName, setting.ProviderName),
                                                                  setting.ToJsonString());
        }
Example #3
0
 /// <summary>
 /// 更新第三方登陆配置(单条记录)
 /// </summary>
 /// <param name="input"></param>
 /// <returns></returns>
 public async Task UpdateExternalAuthentication(ExternalAuthenticationProviderEditDto input)
 {
     await UpdateExternalAuthenticationAsync(input);
 }