From 7cdb6e2245e4cff952ba7d0f97deb39bd9ac9196 Mon Sep 17 00:00:00 2001 From: Jeremy Tellier - ROG Date: Mon, 22 Mar 2021 16:31:28 +0100 Subject: [PATCH] Properly set list values for identities --- DesktopEdge/MainWindow.xaml.cs | 14 ++++++++++---- .../ItemRenderers/MenuEditToggle.xaml.cs | 15 +++++++-------- DesktopEdge/Views/Screens/MFAScreen.xaml.cs | 19 ++++++++++++++----- 3 files changed, 31 insertions(+), 17 deletions(-) diff --git a/DesktopEdge/MainWindow.xaml.cs b/DesktopEdge/MainWindow.xaml.cs index b3fa5c7d..527cbc4b 100644 --- a/DesktopEdge/MainWindow.xaml.cs +++ b/DesktopEdge/MainWindow.xaml.cs @@ -117,14 +117,13 @@ namespace ZitiDesktopEdge { if (mfa.IsVerified) { ShowMFARecoveryCodes(this.IdentityMenu.Identity); if (this.IdentityMenu.Identity.Fingerprint==mfa.Fingerprint) { - /// Clint - Here too I am manually setting these to get the UIs right this.IdentityMenu.Identity.IsMFAEnabled = true; this.IdentityMenu.Identity.MFAInfo.IsAuthenticated = mfa.IsVerified; this.IdentityMenu.UpdateView(); } HideModal(); } else { - // ShowBlurb("Provided code could not be verified", ""); - This blurbs on remove MFA and it shouldnt + ShowBlurb("Provided code could not be verified", ""); } } else { ShowBlurb("Unexpected error when processing MFA", ""); @@ -239,6 +238,15 @@ namespace ZitiDesktopEdge { MFASetup.BeginAnimation(Grid.MarginProperty, animateThick); HideModal(); LoadIdentities(true); + if (isComplete) { + if (MFASetup.Type == 1) { + for (int i=0; i 0) id.MFAInfo.IsAuthenticated = true; IdentityItem idItem = new IdentityItem(); idItem.ToggleStatus.IsEnabled = id.IsEnabled; diff --git a/DesktopEdge/Views/ItemRenderers/MenuEditToggle.xaml.cs b/DesktopEdge/Views/ItemRenderers/MenuEditToggle.xaml.cs index f7834360..12e5feae 100644 --- a/DesktopEdge/Views/ItemRenderers/MenuEditToggle.xaml.cs +++ b/DesktopEdge/Views/ItemRenderers/MenuEditToggle.xaml.cs @@ -57,14 +57,13 @@ namespace ZitiDesktopEdge { _identity = value; if (_identity.IsMFAEnabled) { RecoveryButton.Visibility = Visibility.Visible; - // Clint: Need to know if we are authenticated or not and show or hide this - // if (_identity.IsMFAAuthentcated) { - AuthOff.Visibility = Visibility.Visible; - AuthOn.Visibility = Visibility.Collapsed; - // } else { - // AuthOff.Visibility = Visibility.Collapsed; - // AuthOn.Visibility = Visibility.Visible; - // } + if (!_identity.MFAInfo.IsAuthenticated) { + AuthOff.Visibility = Visibility.Visible; + AuthOn.Visibility = Visibility.Collapsed; + } else { + AuthOff.Visibility = Visibility.Collapsed; + AuthOn.Visibility = Visibility.Visible; + } } else { RecoveryButton.Visibility = Visibility.Collapsed; AuthOff.Visibility = Visibility.Collapsed; diff --git a/DesktopEdge/Views/Screens/MFAScreen.xaml.cs b/DesktopEdge/Views/Screens/MFAScreen.xaml.cs index 19d97ffa..5201d7db 100644 --- a/DesktopEdge/Views/Screens/MFAScreen.xaml.cs +++ b/DesktopEdge/Views/Screens/MFAScreen.xaml.cs @@ -41,6 +41,15 @@ namespace ZitiDesktopEdge { private bool _executing = false; public int Type { get; set; } + public ZitiIdentity Identity { + get { + return this._identity; + } + set { + this._identity = value; + } + } + public MFAScreen() { InitializeComponent(); } @@ -220,8 +229,7 @@ namespace ZitiDesktopEdge { this.OnError?.Invoke("Authentication Failed"); this._executing = false; } else { - MfaRecoveryCodesResponse codeResponse = await serviceClient.ReturnMFACodes(this._identity.Fingerprint, code); - this._identity.MFAInfo.RecoveryCodes = codeResponse.Payload; + this._identity.MFAInfo.IsAuthenticated = true; this.OnClose?.Invoke(true); this._executing = false; } @@ -249,13 +257,14 @@ namespace ZitiDesktopEdge { this._executing = false; } } else if (this.Type == 4) { - SvcResponse authResult = await serviceClient.GenerateMFACodes(this._identity.Fingerprint, code); - if (authResult?.Code != 0) { - Logger.Error("AuthMFA failed. " + authResult.Message); + MfaRecoveryCodesResponse codeResponse = await serviceClient.GenerateMFACodes(this._identity.Fingerprint, code); + if (codeResponse?.Code != 0) { + Logger.Error("AuthMFA failed. " + codeResponse.Message); AuthCode.Text = ""; this.OnError?.Invoke("Authentication Failed"); this._executing = false; } else { + this._identity.MFAInfo.RecoveryCodes = codeResponse.Payload; this.OnClose?.Invoke(true); this._executing = false; }