public async Task <IActionResult> BasicLogin([FromBody] LoginViewModel model) { #region Parameters validation // Parameter hasn't been initialized. if (model == null) { model = new LoginViewModel(); TryValidateModel(model); } // Invalid modelstate. if (!ModelState.IsValid) { return(BadRequest(ModelState)); } #endregion // Verify the captcha. var bIsCaptchaValid = await _captchaService.IsCaptchaValidAsync(model.CaptchaCode, null, CancellationToken.None); if (!bIsCaptchaValid) { return(StatusCode((int)HttpStatusCode.Forbidden, new ApiResponse(HttpMessages.CaptchaInvalid))); } var user = await _userDomain.LoginAsync(model); // Initialize jwt token. var jsonWebToken = _userDomain.GenerateJwt(user); return(Ok(jsonWebToken)); }