diff --git a/src/Core/Models/Api/Request/TwoFactorRequestModels.cs b/src/Core/Models/Api/Request/TwoFactorRequestModels.cs index 2a6b57f1b7..34293ea1a4 100644 --- a/src/Core/Models/Api/Request/TwoFactorRequestModels.cs +++ b/src/Core/Models/Api/Request/TwoFactorRequestModels.cs @@ -190,7 +190,7 @@ namespace Bit.Core.Models.Api providers.Add(TwoFactorProviderType.Email, new TwoFactorProvider { - MetaData = new Dictionary { ["Email"] = Email }, + MetaData = new Dictionary { ["Email"] = Email.ToLowerInvariant() }, Enabled = true }); extistingUser.SetTwoFactorProviders(providers); diff --git a/src/Core/Services/Implementations/UserService.cs b/src/Core/Services/Implementations/UserService.cs index 505efd1754..dcdd149e75 100644 --- a/src/Core/Services/Implementations/UserService.cs +++ b/src/Core/Services/Implementations/UserService.cs @@ -245,9 +245,10 @@ namespace Bit.Core.Services throw new ArgumentNullException("No email."); } + var email = ((string)provider.MetaData["Email"]).ToLowerInvariant(); var token = await base.GenerateUserTokenAsync(user, TokenOptions.DefaultEmailProvider, - "2faEmail:" + provider.MetaData["Email"]); - await _mailService.SendTwoFactorEmailAsync((string)provider.MetaData["Email"], token); + "2faEmail:" + email); + await _mailService.SendTwoFactorEmailAsync(email, token); } public async Task VerifyTwoFactorEmailAsync(User user, string token) @@ -258,8 +259,9 @@ namespace Bit.Core.Services throw new ArgumentNullException("No email."); } + var email = ((string)provider.MetaData["Email"]).ToLowerInvariant(); return await base.VerifyUserTokenAsync(user, TokenOptions.DefaultEmailProvider, - "2faEmail:" + provider.MetaData["Email"], token); + "2faEmail:" + email, token); } public async Task StartU2fRegistrationAsync(User user)