public async Task <ActionResult> Login([FromBody] AuthenticationLoginRequest rq) { try { AuthenticationLoginResponse rs = await(new AuthenticationLoginService(this.Context, _authRepo)).RunAsync(rq); return(new ApiActionResult(this.Context.Request, rs)); } catch (Exception ex) { return(new ApiActionResult(this.Context.Request, ex)); } }
public async Task <ActionResult> Login([FromBody] AuthenticationLoginRequest rq) { var loginFailedCount = HttpContext.Session.GetInt32("LoginFailedCount"); loginFailedCount ??= 0; try { var rs = await new AuthenticationLoginService(Context, _authRepo).RunAsync(rq); loginFailedCount = rs.AuthLogin.Successful ? 0 : loginFailedCount.Value + 1; rs.CaptchaNeeded = loginFailedCount > _authConfig.MaxAttempt; HttpContext.Session.SetInt32("LoginFailedCount", loginFailedCount.Value); return(new ApiActionResult(Context.Request, rs)); } catch (Exception ex) { HttpContext.Session.SetInt32("LoginFailedCount", loginFailedCount.Value + 1); return(new ApiActionResult(Context.Request, ex)); } }