Example #1
0
        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);
            }
        }
Example #2
0
        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();
            }
        }
Example #3
0
 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);
     }
 }
Example #4
0
        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;
                }
            }
        }