1
0
mirror of https://github.com/bitwarden/server.git synced 2025-06-30 23:52:50 -05:00

PS-82 check send 2FA email for new devices on TwoFactorController send-email-login (#1977)

This commit is contained in:
Federico Maccaroni
2022-04-28 13:14:09 -03:00
committed by GitHub
parent 68f875b3d9
commit a7a45893a3
6 changed files with 161 additions and 21 deletions

View File

@ -289,7 +289,16 @@ namespace Bit.Api.Controllers
{
if (await _userService.VerifySecretAsync(user, model.Secret))
{
await _userService.SendTwoFactorEmailAsync(user);
var isBecauseNewDeviceLogin = false;
if (user.GetTwoFactorProvider(TwoFactorProviderType.Email) is null
&&
await _userService.Needs2FABecauseNewDeviceAsync(user, model.DeviceIdentifier, null))
{
model.ToUser(user);
isBecauseNewDeviceLogin = true;
}
await _userService.SendTwoFactorEmailAsync(user, isBecauseNewDeviceLogin);
return;
}
}

View File

@ -203,6 +203,8 @@ namespace Bit.Api.Models.Request
[StringLength(256)]
public string Email { get; set; }
public string DeviceIdentifier { get; set; }
public User ToUser(User extistingUser)
{
var providers = extistingUser.GetTwoFactorProviders();