private async Task DeleteLoginUpPartyAsync(GeneralLoginUpPartyViewModel generalLoginUpParty) { try { await UpPartyService.DeleteLoginUpPartyAsync(generalLoginUpParty.Name); UpParties.Remove(generalLoginUpParty); await OnStateHasChanged.InvokeAsync(UpParty); } catch (TokenUnavailableException) { await(OpenidConnectPkce as TenantOpenidConnectPkce).TenantLoginAsync(); } catch (Exception ex) { generalLoginUpParty.Form.SetError(ex.Message); } }
public void ShowLoginTab(GeneralLoginUpPartyViewModel downParty, LoginTabTypes samlTabTypes) { switch (samlTabTypes) { case LoginTabTypes.Login: downParty.ShowLoginTab = true; downParty.ShowClaimTransformTab = false; break; case LoginTabTypes.ClaimsTransform: downParty.ShowLoginTab = false; downParty.ShowClaimTransformTab = true; break; default: throw new NotSupportedException(); } }
private void ShowCreateUpParty(PartyTypes type) { if (type == PartyTypes.Login) { var loginUpParty = new GeneralLoginUpPartyViewModel(); loginUpParty.CreateMode = true; loginUpParty.Edit = true; upParties.Add(loginUpParty); } else if (type == PartyTypes.Oidc) { var oidcUpParty = new GeneralOidcUpPartyViewModel(); oidcUpParty.CreateMode = true; oidcUpParty.Edit = true; upParties.Add(oidcUpParty); } else if (type == PartyTypes.Saml2) { var samlUpParty = new GeneralSamlUpPartyViewModel(); samlUpParty.CreateMode = true; samlUpParty.Edit = true; upParties.Add(samlUpParty); } }
private async Task OnEditLoginUpPartyValidSubmitAsync(GeneralLoginUpPartyViewModel generalLoginUpParty, EditContext editContext) { try { if (generalLoginUpParty.Form.Model.ClaimTransforms?.Count() > 0) { foreach (var claimTransform in generalLoginUpParty.Form.Model.ClaimTransforms) { if (claimTransform is OAuthClaimTransformClaimInViewModel claimTransformClaimIn && !claimTransformClaimIn.ClaimIn.IsNullOrWhiteSpace()) { claimTransform.ClaimsIn = new List <string> { claimTransformClaimIn.ClaimIn }; } } } if (generalLoginUpParty.CreateMode) { var loginUpPartyResult = await UpPartyService.CreateLoginUpPartyAsync(generalLoginUpParty.Form.Model.Map <LoginUpParty>(afterMap: afterMap => { afterMap.DisableSingleLogout = !generalLoginUpParty.Form.Model.EnableSingleLogout; afterMap.DisableResetPassword = !generalLoginUpParty.Form.Model.EnableResetPassword; if (afterMap.ClaimTransforms?.Count() > 0) { int order = 1; foreach (var claimTransform in afterMap.ClaimTransforms) { claimTransform.Order = order++; } } })); generalLoginUpParty.Form.UpdateModel(ToViewModel(loginUpPartyResult)); generalLoginUpParty.CreateMode = false; toastService.ShowSuccess("Login Up-party created.", "SUCCESS"); } else { var loginUpParty = await UpPartyService.UpdateLoginUpPartyAsync(generalLoginUpParty.Form.Model.Map <LoginUpParty>(afterMap: afterMap => { afterMap.DisableSingleLogout = !generalLoginUpParty.Form.Model.EnableSingleLogout; afterMap.DisableResetPassword = !generalLoginUpParty.Form.Model.EnableResetPassword; if (afterMap.ClaimTransforms?.Count() > 0) { int order = 1; foreach (var claimTransform in afterMap.ClaimTransforms) { claimTransform.Order = order++; } } })); generalLoginUpParty.Form.UpdateModel(ToViewModel(loginUpParty)); toastService.ShowSuccess("Login Up-party updated.", "SUCCESS"); } generalLoginUpParty.Name = generalLoginUpParty.Form.Model.Name; } catch (FoxIDsApiException ex) { if (ex.StatusCode == System.Net.HttpStatusCode.Conflict) { generalLoginUpParty.Form.SetFieldError(nameof(generalLoginUpParty.Form.Model.Name), ex.Message); } else { throw; } } }