[Node.js] Refresh token으로 Access token 만들기

채연·2023년 7월 8일
0

Node.js

목록 보기
12/16

Refresh token으로 Access token 만들기

Refresh token

cookie를 다루려면 parsing 해주는 것이 필요하여 cookie-parser를 가져와준닷

const cookieParser = require("cookie-parser");

middleware로 등록

app.use(cookieParser());

cookies가 있는지, 데이터베이스에 있는지, token이 유효한지 확인 후 accessToken 발급!

app.get("/refresh", (req, res) => {
  // cookies  가져오기  cookie-parser
  const cookies = req.cookies;
  if (!cookies?.jwt) return res.sendStatus(403);

  const refreshToken = cookies.jwt;
  // refreshtoken이 데이터베이스에 있는 토큰인지 확인
  if (!refreshToken.includes(refreshToken)) {
    return res.sendStatus(403);
  }

  // token 이 유효한 토큰인지 확인
  jwt.verify(refreshToken, refreshSecretText, (err, user) => {
    if (err) return res.sendStatus(403);
    // accessToken을 생성하기
    const accessToken = jwt.sign({ name: user.name }, secretText, {
      expiresIn: "30s",
    });
    res.json({ accessToken });
  });
});
profile
Hello Velog

0개의 댓글