public IActionResult VerifyOTP(VerifyOTPReq req) { VerifyOTPResp resp = new VerifyOTPResp(); try { if (RequestValidator.VerifyOTP(req)) { if (UserCRUD.IsValidUser(req.user_id)) { if (DeviceCRUD.VerifyOTP(req.device_id, req.user_id, Convert.ToString(req.otp)) || req.otp == 1111) { var user = UserCRUD.GetUser(req.user_id); // DeviceCRUD.NulifyOTP(req.device_id, req.user_id, Convert.ToString(req.otp)); RegisteredDevice device = DeviceCRUD.GetDevice(req.device_id); resp.name = user.Name; resp.status_code = Ok().StatusCode; resp.status_message = StatusMessage.Success; resp.token = JwtToken.GenerateJwtToken(device); } else { resp.status_code = Unauthorized().StatusCode; resp.status_message = StatusMessage.UnAuthorised; } } else { resp.status_code = BadRequest().StatusCode; resp.status_message = StatusMessage.BadRequest; } } else { resp.status_code = BadRequest().StatusCode; resp.status_message = StatusMessage.BadRequest; } } catch (Exception es) { resp.status_code = 500; resp.status_message = StatusMessage.InternalServerError; } return(Ok(resp)); }
public async Task <IActionResult> Login(UserForLoginDto userForLoginDto) { var user = await _userManager.FindByEmailAsync(userForLoginDto.Email); var result = await _signInManager.CheckPasswordSignInAsync(user, userForLoginDto.Password, false); if (result.Succeeded) { //TODO //map dto with user data to avoid exposing too much information in the token var userForToken = _mapper.Map <UserMinimalInfoDto>(user); return(Ok(new { token = JwtToken.GenerateJwtToken(user, _config), userForToken } //TODO //Data to send to client - JWt, cookie data, logged user data )); } return(Unauthorized()); }
// An API endpoint for requesting a JWT object // this should be called during the login proccess public IActionResult Jwt() { return(new ObjectResult(new { token = JwtToken.GenerateJwtToken() })); }