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);
        }
Пример #3
0
        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);
        }
Пример #5
0
        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);
            }
        }