add upgrade logic for sites using remapped identifier and email claim types
This commit is contained in:
		| @ -57,6 +57,9 @@ namespace Oqtane.Infrastructure | ||||
|                     case "3.2.0": | ||||
|                         Upgrade_3_2_0(tenant, scope); | ||||
|                         break; | ||||
|                     case "3.2.1": | ||||
|                         Upgrade_3_2_1(tenant, scope); | ||||
|                         break; | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
| @ -264,5 +267,41 @@ namespace Oqtane.Infrastructure | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         private void Upgrade_3_2_1(Tenant tenant, IServiceScope scope) | ||||
|         { | ||||
|             try | ||||
|             { | ||||
|                 // convert Identifier Claim Type and Email Claim Type | ||||
|                 var settingRepository = scope.ServiceProvider.GetRequiredService<ISettingRepository>(); | ||||
|                 var siteRepository = scope.ServiceProvider.GetRequiredService<ISiteRepository>(); | ||||
|                 foreach (Site site in siteRepository.GetSites().ToList()) | ||||
|                 { | ||||
|                     var settings = settingRepository.GetSettings(EntityNames.Site, site.SiteId).ToList(); | ||||
|                     var setting = settings.FirstOrDefault(item => item.SettingName == "ExternalLogin:IdentifierClaimType"); | ||||
|                     if (setting != null) | ||||
|                     { | ||||
|                         if (setting.SettingValue == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier") | ||||
|                         { | ||||
|                             setting.SettingValue = "sub"; | ||||
|                             settingRepository.UpdateSetting(setting); | ||||
|                         } | ||||
|                     } | ||||
|                     setting = settings.FirstOrDefault(item => item.SettingName == "ExternalLogin:EmailClaimType"); | ||||
|                     if (setting != null) | ||||
|                     { | ||||
|                         if (setting.SettingValue == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress") | ||||
|                         { | ||||
|                             setting.SettingValue = "email"; | ||||
|                             settingRepository.UpdateSetting(setting); | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|             catch (Exception ex) | ||||
|             { | ||||
|                 Debug.WriteLine($"Oqtane Error: Error In 3.2.1 Upgrade Logic - {ex}"); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|     } | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Shaun Walker
					Shaun Walker