public void PostSetupGoogleTest()
        {
            Step("Make POST /api/2fa/setup/google and validate response", () =>
            {
                var model = new GoogleSetupVerifyRequest
                {
                    Code = Guid.NewGuid().ToString()
                };

                var response = apiV2.SecondFactorAuth.Post2FASetUpGoogle(model, token);

                Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK));
                Assert.That(response.GetResponseObject().IsValid, Is.False);
            });
        }
示例#2
0
        public async Task <IActionResult> SetupGoogle2FaVerify([FromBody] GoogleSetupVerifyRequest model)
        {
            try
            {
                if (await _confirmationCodesClient.Google2FaClientHasSetupAsync(_requestContext.ClientId))
                {
                    throw LykkeApiErrorException.BadRequest(LykkeApiErrorCodes.Service.SecondFactorAlreadySetup);
                }

                var pd = await _personalDataService.GetAsync(_requestContext.ClientId);

                var resp = await _confirmationCodesClient.Google2FaVerifySetupAsync(
                    new VerifySetupGoogle2FaRequest
                {
                    ClientId = _requestContext.ClientId,
                    Phone    = pd.ContactPhone,
                    SmsCode  = model.Code,
                    GaCode   = model.GaCode
                });

                return(Ok(new GoogleSetupVerifyResponse {
                    IsValid = resp.IsValid
                }));
            }
            catch (ApiException e)
            {
                switch (e.StatusCode)
                {
                case HttpStatusCode.BadRequest:
                    throw LykkeApiErrorException.BadRequest(LykkeApiErrorCodes.Service.InconsistentState);

                case HttpStatusCode.Forbidden:
                    throw LykkeApiErrorException.BadRequest(LykkeApiErrorCodes.Service.MaxAttemptsReached);
                }

                throw;
            }
        }
 public IResponse <GoogleSetupVerifyResponse> Post2FASetUpGoogle(GoogleSetupVerifyRequest model, string token)
 {
     return(Request.Post("/2fa/setup/google").AddJsonBody(model).WithBearerToken(token).Build().Execute <GoogleSetupVerifyResponse>());
 }