1
0
mirror of https://github.com/bitwarden/mobile synced 2025-12-17 16:53:26 +00:00

[PM-3382] User cannot select Email as a secondary 2FA option following SSO (#2719)

* [PM-3382] Update mobile client to receive and use SsoEmail2faSessionToken

* [PM-3382] Fix null 2fa email with local email on MP login.
This commit is contained in:
André Bispo
2023-09-06 10:26:11 +01:00
committed by GitHub
parent 6d4792bc24
commit f21fae7fea
5 changed files with 10 additions and 3 deletions

View File

@@ -124,6 +124,7 @@ namespace Bit.Core.Services
public string Code { get; set; }
public string CodeVerifier { get; set; }
public string SsoRedirectUrl { get; set; }
public string SsoEmail2FaSessionToken { get; set; }
public Dictionary<TwoFactorProviderType, TwoFactorProvider> TwoFactorProviders { get; set; }
public Dictionary<TwoFactorProviderType, Dictionary<string, object>> TwoFactorProvidersData { get; set; }
public TwoFactorProviderType? SelectedTwoFactorProviderType { get; set; }
@@ -457,20 +458,21 @@ namespace Bit.Core.Services
if (result.TwoFactor)
{
// Two factor required.
Email = email;
Email = response.TwoFactorResponse.Email ?? email;
MasterPasswordHash = hashedPassword;
LocalMasterPasswordHash = localHashedPassword;
AuthRequestId = authRequestId;
Code = code;
CodeVerifier = codeVerifier;
SsoRedirectUrl = redirectUrl;
SsoEmail2FaSessionToken = response.TwoFactorResponse.SsoEmail2faSessionToken;
_masterKey = _setCryptoKeys ? masterKey : null;
_userKey = userKey2FA;
TwoFactorProvidersData = response.TwoFactorResponse.TwoFactorProviders2;
result.TwoFactorProviders = response.TwoFactorResponse.TwoFactorProviders2;
CaptchaToken = response.TwoFactorResponse.CaptchaToken;
_masterPasswordPolicy = response.TwoFactorResponse.MasterPasswordPolicy;
await _tokenService.ClearTwoFactorTokenAsync(email);
await _tokenService.ClearTwoFactorTokenAsync(Email);
return result;
}