public async Task <TwoFactorU2fResponseModel> GetU2f([FromBody] TwoFactorRequestModel model) { var user = await CheckAsync(model.MasterPasswordHash, true); var response = new TwoFactorU2fResponseModel(user); return(response); }
public async Task <TwoFactorU2fResponseModel> DeleteU2f([FromBody] TwoFactorU2fDeleteRequestModel model) { var user = await CheckAsync(model.MasterPasswordHash, true); await _userService.DeleteU2fKeyAsync(user, model.Id.Value); var response = new TwoFactorU2fResponseModel(user); return(response); }
public async Task <TwoFactorU2fResponseModel> PutU2f([FromBody] TwoFactorU2fRequestModel model) { var user = await CheckAsync(model.MasterPasswordHash, true); await _userService.CompleteU2fRegistrationAsync(user, model.DeviceResponse); var response = new TwoFactorU2fResponseModel(user); return(response); }
public async Task <TwoFactorU2fResponseModel> PutU2f([FromBody] TwoFactorU2fRequestModel model) { var user = await CheckAsync(model.MasterPasswordHash, true); var success = await _userService.CompleteU2fRegistrationAsync( user, model.Id.Value, model.Name, model.DeviceResponse); if (!success) { throw new BadRequestException("Unable to complete U2F key registration."); } var response = new TwoFactorU2fResponseModel(user); return(response); }
public async Task <TwoFactorU2fResponseModel> GetU2f([FromBody] TwoFactorRequestModel model) { var user = await CheckAsync(model.MasterPasswordHash, true); var provider = user.GetTwoFactorProvider(TwoFactorProviderType.U2f); if (provider == null || !provider.Enabled || (provider.MetaData?.Count ?? 0) > 0) { var reg = await _userService.StartU2fRegistrationAsync(user); var response = new TwoFactorU2fResponseModel(user, provider, reg); return(response); } else { var response = new TwoFactorU2fResponseModel(user, provider); return(response); } }