Programming/Node.js
express, jwt 사용자 인증 기능 구현 (1)
알 수 없는 사용자
2021. 7. 20. 11:04
안녕하세요. 자비스 입니다.
지난시간에 이어서 node.js express 기반의 api서버에 사용자 인증 기능을 구현해보겠습니다.
jsonwebtoken 설치
$ npm install jsonwebtoken --save
secret key 생성
/config/jwt.js 파일 생성
let jwtObj = {};
jwtObj.secret = "jarvis"
module.exports = jwtObj
토큰 발급
/routes/accounts.js 파일 생성
var express = require('express');
var router = express.Router();
var { User } = require('../models/index');
let jwt = require("jsonwebtoken");
let secretObj = require("../config/jwt");
router.post('/signin', function(req, res, next) {
let token = jwt.sign({
email: req.body.email//payload
},
secretObj.secret,//키
{
expiresIn: '60m'//유효시간
})
User.findOne({
where: {
useremail: req.body.email
}
})
.then( user => {
if (user.password === req.body.password) {
res.json({
token: token
})
}
})
});
module.exports = router;
설치부터 토큰 발급까지 간단합니다.
다음편에선 미들웨어에서 토큰 검증하고, 유효하지 않는 토큰에 대해 처리하는 기능을 이어서 진행하도록 하겠습니다.
현재까지 작업한 소스코드는 여기 에서 확인 가능합니다