mirror of
https://github.com/bitwarden/server.git
synced 2024-12-24 17:17:40 +01:00
[SG-823] Undid changes to capture device push token on login (#2427)
* Revert "Set Id property on existing devices so we don't try to create a new one instead of updating existing. (#2420)" This reverts commit02e4b10ae8
. * Revert "Update push token on login to allow multiple users on mobile devices (#2404)" This reverts commit24469e2267
. * Added back test changes.
This commit is contained in:
parent
e042360c00
commit
e340cba8fc
@ -17,6 +17,7 @@ public class DevicesController : Controller
|
||||
private readonly IDeviceService _deviceService;
|
||||
private readonly IUserService _userService;
|
||||
private readonly IUserRepository _userRepository;
|
||||
|
||||
public DevicesController(
|
||||
IDeviceRepository deviceRepository,
|
||||
IDeviceService deviceService,
|
||||
@ -100,7 +101,6 @@ public class DevicesController : Controller
|
||||
}
|
||||
|
||||
await _deviceService.SaveAsync(model.ToDevice(device));
|
||||
|
||||
}
|
||||
|
||||
[AllowAnonymous]
|
||||
|
@ -7,5 +7,4 @@ public interface IDeviceService
|
||||
Task SaveAsync(Device device);
|
||||
Task ClearTokenAsync(Device device);
|
||||
Task DeleteAsync(Device device);
|
||||
|
||||
}
|
||||
|
@ -41,7 +41,6 @@ public class DeviceService : IDeviceService
|
||||
public async Task DeleteAsync(Device device)
|
||||
{
|
||||
await _deviceRepository.DeleteAsync(device);
|
||||
|
||||
await _pushRegistrationService.DeleteRegistrationAsync(device.Id.ToString());
|
||||
}
|
||||
}
|
||||
|
@ -37,6 +37,7 @@ public abstract class BaseRequestValidator<T> where T : class
|
||||
private readonly IPolicyRepository _policyRepository;
|
||||
private readonly IUserRepository _userRepository;
|
||||
private readonly ICaptchaValidationService _captchaValidationService;
|
||||
|
||||
public BaseRequestValidator(
|
||||
UserManager<User> userManager,
|
||||
IDeviceRepository deviceRepository,
|
||||
@ -544,16 +545,19 @@ public abstract class BaseRequestValidator<T> where T : class
|
||||
|
||||
private async Task<Device> SaveDeviceAsync(User user, ValidatedTokenRequest request)
|
||||
{
|
||||
var deviceFromRequest = GetDeviceFromRequest(request);
|
||||
if (deviceFromRequest != null)
|
||||
var device = GetDeviceFromRequest(request);
|
||||
if (device != null)
|
||||
{
|
||||
var existingDevice = await GetKnownDeviceAsync(user, request);
|
||||
if (existingDevice == null)
|
||||
{
|
||||
device.UserId = user.Id;
|
||||
await _deviceService.SaveAsync(device);
|
||||
|
||||
var now = DateTime.UtcNow;
|
||||
if (now - user.CreationDate > TimeSpan.FromMinutes(10))
|
||||
{
|
||||
var deviceType = deviceFromRequest.Type.GetType().GetMember(deviceFromRequest.Type.ToString())
|
||||
var deviceType = device.Type.GetType().GetMember(device.Type.ToString())
|
||||
.FirstOrDefault()?.GetCustomAttribute<DisplayAttribute>()?.GetName();
|
||||
if (!_globalSettings.DisableEmailNewDevice)
|
||||
{
|
||||
@ -561,17 +565,14 @@ public abstract class BaseRequestValidator<T> where T : class
|
||||
_currentContext.IpAddress);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
deviceFromRequest.Id = existingDevice.Id;
|
||||
|
||||
return device;
|
||||
}
|
||||
|
||||
deviceFromRequest.UserId = user.Id;
|
||||
await _deviceService.SaveAsync(deviceFromRequest);
|
||||
return existingDevice;
|
||||
}
|
||||
|
||||
return deviceFromRequest;
|
||||
return null;
|
||||
}
|
||||
|
||||
private async Task ResetFailedAuthDetailsAsync(User user)
|
||||
|
Loading…
Reference in New Issue
Block a user