public IActionResult Login(Login login) { try { var user = _userContext.userByName(login.User); if (user != null) { if (user.Password.Replace(" ", "") == _userContext.Encrypt(login.Password)) { if (!user.IsConfirmed) { return(Ok(new LoginResponse { Message = "Your account needed to be actived, please check your email", Status = false })); } else { var token = _JWTService.Generate(user.Id); Response.Cookies.Append(key: "token", value: token, options: new CookieOptions { HttpOnly = true }); return(Ok(value: new LoginResponse { Message = "Success", Status = true, User = new UserResponse { Token = token, Email = user.Email, User = user.UserName } })); } } else { return(Ok(new LoginResponse { Message = "Password incorrect", Status = false })); } } else { return(Ok(new Response { Message = "User is not exist", Status = false })); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <ActionResult> LogInAsync([FromBody] UserModel user) { try { UserModel userResult = await database.GetUser(user.username); if (userResult == null || !BCrypt.Net.BCrypt.Verify(user.password, userResult.password)) { throw new Exception(); } Response.Cookies.Append("jwt", jWTService.Generate(userResult.username), new Microsoft.AspNetCore.Http.CookieOptions { HttpOnly = true }); return(Ok(userResult.username)); } catch { return(BadRequest("Invalid")); } }