Ejemplo n.º 1
0
        private async Task UpdateExternalLoginSettingsAsync(ExternalLoginProviderSettingsEditDto input)
        {
            await SettingManager.ChangeSettingForApplicationAsync(
                AppSettings.ExternalLoginProvider.Host.Facebook,
                input.Facebook == null || !input.Facebook.IsValid()
                ?_settingDefinitionManager.GetSettingDefinition(AppSettings.ExternalLoginProvider.Host.Facebook)
                .DefaultValue
                : input.Facebook.ToJsonString()
                );

            await SettingManager.ChangeSettingForApplicationAsync(
                AppSettings.ExternalLoginProvider.Host.Google,
                input.Google == null || !input.Google.IsValid()
                ?_settingDefinitionManager.GetSettingDefinition(AppSettings.ExternalLoginProvider.Host.Google)
                .DefaultValue
                : input.Google.ToJsonString()
                );

            await SettingManager.ChangeSettingForApplicationAsync(
                AppSettings.ExternalLoginProvider.Host.Twitter,
                input.Twitter == null || !input.Twitter.IsValid()
                ?_settingDefinitionManager.GetSettingDefinition(AppSettings.ExternalLoginProvider.Host.Twitter)
                .DefaultValue
                : input.Twitter.ToJsonString()
                );

            await SettingManager.ChangeSettingForApplicationAsync(
                AppSettings.ExternalLoginProvider.Host.Microsoft,
                input.Microsoft == null || !input.Microsoft.IsValid()
                ?_settingDefinitionManager.GetSettingDefinition(AppSettings.ExternalLoginProvider.Host.Microsoft)
                .DefaultValue
                : input.Microsoft.ToJsonString()
                );

            await SettingManager.ChangeSettingForApplicationAsync(
                AppSettings.ExternalLoginProvider.Host.OpenIdConnect,
                input.OpenIdConnect == null || !input.OpenIdConnect.IsValid()
                ?_settingDefinitionManager
                .GetSettingDefinition(AppSettings.ExternalLoginProvider.Host.OpenIdConnect).DefaultValue
                : input.OpenIdConnect.ToJsonString()
                );

            await SettingManager.ChangeSettingForApplicationAsync(
                AppSettings.ExternalLoginProvider.OpenIdConnectMappedClaims,
                input.OpenIdConnectClaimsMapping.IsNullOrEmpty()
                ?_settingDefinitionManager
                .GetSettingDefinition(AppSettings.ExternalLoginProvider.OpenIdConnectMappedClaims).DefaultValue
                : input.OpenIdConnectClaimsMapping.ToJsonString()
                );

            await SettingManager.ChangeSettingForApplicationAsync(
                AppSettings.ExternalLoginProvider.Host.WsFederation,
                input.WsFederation == null || !input.WsFederation.IsValid()
                ?_settingDefinitionManager
                .GetSettingDefinition(AppSettings.ExternalLoginProvider.Host.WsFederation).DefaultValue
                : input.WsFederation.ToJsonString()
                );

            await SettingManager.ChangeSettingForApplicationAsync(
                AppSettings.ExternalLoginProvider.WsFederationMappedClaims,
                input.WsFederationClaimsMapping.IsNullOrEmpty()
                ?_settingDefinitionManager
                .GetSettingDefinition(AppSettings.ExternalLoginProvider.WsFederationMappedClaims).DefaultValue
                : input.WsFederationClaimsMapping.ToJsonString()
                );

            ExternalLoginOptionsCacheManager.ClearCache();
        }
Ejemplo n.º 2
0
        private async Task UpdateExternalLoginSettingsAsync(ExternalLoginProviderSettingsEditDto input)
        {
            await SettingManager.ChangeSettingForTenantAsync(
                AbpSession.GetTenantId(),
                AppSettings.ExternalLoginProvider.Tenant.Facebook,
                input.Facebook == null || !input.Facebook.IsValid()? "" : input.Facebook.ToJsonString()
                );

            await SettingManager.ChangeSettingForTenantAsync(
                AbpSession.GetTenantId(),
                AppSettings.ExternalLoginProvider.Tenant.Google,
                input.Google == null || !input.Google.IsValid()? "" : input.Google.ToJsonString()
                );

            await SettingManager.ChangeSettingForTenantAsync(
                AbpSession.GetTenantId(),
                AppSettings.ExternalLoginProvider.Tenant.Twitter,
                input.Twitter == null || !input.Twitter.IsValid()? "" : input.Twitter.ToJsonString()
                );

            await SettingManager.ChangeSettingForTenantAsync(
                AbpSession.GetTenantId(),
                AppSettings.ExternalLoginProvider.Tenant.Microsoft,
                input.Microsoft == null || !input.Microsoft.IsValid()? "" : input.Microsoft.ToJsonString()
                );

            await SettingManager.ChangeSettingForTenantAsync(
                AbpSession.GetTenantId(),
                AppSettings.ExternalLoginProvider.Tenant.OpenIdConnect,
                input.OpenIdConnect == null || !input.OpenIdConnect.IsValid()? "" : input.OpenIdConnect.ToJsonString()
                );

            var openIdConnectMappedClaimsValue = "";

            if (input.OpenIdConnect == null || !input.OpenIdConnect.IsValid() || input.OpenIdConnectClaimsMapping.IsNullOrEmpty())
            {
                openIdConnectMappedClaimsValue = await SettingManager.GetSettingValueForApplicationAsync(AppSettings.ExternalLoginProvider.OpenIdConnectMappedClaims);//set default value
            }
            else
            {
                openIdConnectMappedClaimsValue = input.OpenIdConnectClaimsMapping.ToJsonString();
            }

            await SettingManager.ChangeSettingForTenantAsync(
                AbpSession.GetTenantId(),
                AppSettings.ExternalLoginProvider.OpenIdConnectMappedClaims,
                openIdConnectMappedClaimsValue
                );

            await SettingManager.ChangeSettingForTenantAsync(
                AbpSession.GetTenantId(),
                AppSettings.ExternalLoginProvider.Tenant.WsFederation,
                input.WsFederation == null || !input.WsFederation.IsValid()? "" : input.WsFederation.ToJsonString()
                );

            var wsFederationMappedClaimsValue = "";

            if (input.WsFederation == null || !input.WsFederation.IsValid() || input.WsFederationClaimsMapping.IsNullOrEmpty())
            {
                wsFederationMappedClaimsValue = await SettingManager.GetSettingValueForApplicationAsync(AppSettings.ExternalLoginProvider.WsFederationMappedClaims);//set default value
            }
            else
            {
                wsFederationMappedClaimsValue = input.WsFederationClaimsMapping.ToJsonString();
            }

            await SettingManager.ChangeSettingForTenantAsync(
                AbpSession.GetTenantId(),
                AppSettings.ExternalLoginProvider.WsFederationMappedClaims,
                wsFederationMappedClaimsValue
                );

            ExternalLoginOptionsCacheManager.ClearCache();
        }