16. Node 가계부 만들기 [ /accounts url passport-jwt 적용 ] - 3
2022. 5. 28. 23:10ㆍ프로젝트/가계부 - 제작 JavaScript
passport-jwt : https://crispypotato.tistory.com/219
지난번 만든 passport-jwt 전략을 /accounts url 전체에 적용
1. app.js에서 JwtPassport 적용
설명
- /accounts URL 이용 시 JwtPassport에서 토큰 값을 확인
- token이 만료, 변조, 해당유저가 없으면 /login/token-fail 로 redirect
app.js
require('dotenv').config()
const express = require('express')
const logger = require('morgan')
const compression = require('compression')
const httpError = require('http-errors')
const { Error } = require('./lib/lib')
const userRouter = require('./routes/users/users.route')
const loginRouter = require('./routes/login/login.route')
/// 변경 부분
const accountRouter = require('./routes/accounts/accounts.route')
const { sequelize } = require('./models/index')
const { JwtPassport } = require('./routes/login/passport')
if (process.env.NODE_ENV === 'local') {
sequelize
.sync()
.then(() => {
console.log(' DB 연결 성공')
})
.catch((err) => {
console.log('연결 실패')
console.log(err)
})
}
const app = express()
app.use(compression())
app.use(logger('dev'))
app.use(express.json())
app.use('/user', userRouter)
app.use('/login', loginRouter)
//변경 부분
app.use(
'/accounts',
JwtPassport.authenticate('jwt', {
session: false,
failureRedirect: '/login/token-fail'
}),
accountRouter
)
app.use(() => {
throw httpError(404)
})
app.use(Error)
app.listen(3000, () => {
console.log('server start!')
})
module.exports = app
728x90
반응형
'프로젝트 > 가계부 - 제작 JavaScript' 카테고리의 다른 글
18. Node 가계부 만들기 [ 가계부 기능 Service 구현 ] - 5 (0) | 2022.05.29 |
---|---|
17. Node 가계부 만들기 [ 가계부 기능 Repository 구현 ] - 4 (0) | 2022.05.29 |
15. Node 가계부 만들기 [ 가계부 기본 연결] - 2 (0) | 2022.05.28 |
14. Node 가계부 만들기 [ 가계부 기능 파일 생성] - 1 (0) | 2022.05.28 |
13. Node 가계부 만들기 [ 로그인 유효성 검사 ] - 5 (0) | 2022.05.28 |