BookStore - 로그인 API 구현

데브코스

목록 보기
62/133
post-thumbnail
const login = (req, res) => {
  const { email, password } = req.body;
  let sql = "SELECT * FROM users WHERE email = ? AND password = ?";
  let values = [email, password];

  connection.query(sql, values, (err, results) => {
    if (err) {
      console.log(err);
      return res.status(StatusCodes.BAD_REQUEST).end();
    }

    //여기가 로그인 성공 로직이면서 토큰 발급 로직이야
    const loginUser = results[0];
    if (loginUser && loginUser.password == password) {
      const token = jwt.sign(
        {
          email: loginUser.email,
        },
        process.env.PRIVATE_KEY,
        {
          expiresIn: "1h", //1시간 유효
          issuer: "songa",
        }
      );

      res.cookie("token", token, {
        httpOnly: true, //너 이거 http에서만 쓸 수 있어
      });

      console.log(token);

      return res.status(StatusCodes.OK).json(results);
    } else {
      return res.status(StatusCodes.UNAUTHORIZED).end(); //401 이고 인증이 안되었어! 라는 뜻
    }
  });
};

profile
Dive Head First | Work Super Hard | Attract Great People

0개의 댓글