더북(TheBook)

23.4.2 토큰 발급하기

비밀키를 설정했으면 user 모델 파일에서 generateToken이라는 인스턴스 메서드를 만들어 주세요.

src/modles/user.js - generateToken

import mongoose, { Schema } from 'mongoose';
import bcrypt from 'bcrypt';
import jwt from 'jsonwebtoken';

(...)

UserSchema.methods.generateToken = function() {
  const token = jwt.sign(
    //  번째 파라미터에는 토큰 안에 집어넣고 싶은 데이터를 넣습니다.
    {
      _id: this.id,
      username: this.username,
    },
    process.env.JWT_SECRET, //  번째 파라미터에는 JWT 암호를 넣습니다.
    {
      expiresIn: '7d', // 7 동안 유효함
    },
  );
  return token;
};

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.