Page 412 - Nodejs 교과서 개정2판
P. 412
ഥਗоੑ ಕח ۽Ӓੋਸ ೞ ঋ ࢎۈীѱ݅ ࠁৈঠ פ ٮۄࢲ isNotLoggedIn ٜਝয۽ req.isAu
thenticated()о falseੌ ٸ݅ nextܳ ഐೞب۾ ೮णפ
۽Ӓੋ ৈࠗ۽݅ ٜਝযܳ ٜ݅ ࣻ ח Ѫ ইפۄ ౹۽ ৈࠗ ҙܻ ৈࠗ ١ ٜਝযܳ ٜ݅ ࣻب
ਵ۽ নೞѱ ഝਊೡ ࣻ णפ res.locals.user ࣘࢿী req.userܳ ֍ Ѫਸ ݾ೧ࣁਃ քझী
ࢲ user ёܳ ా೧ ࢎਊ ࠁী Ӕೡ ࣻ ѱ غणפ
ઁ ഥਗоੑ ۽Ӓੋ ۽Ӓইਓ ۄఠܳ ࢿ೧ࠇद
routes/auth.js
const express = require('express');
const passport = require('passport');
const bcrypt = require('bcrypt');
const { isLoggedIn, isNotLoggedIn } = require('./middlewares');
const User = require('../models/user');
const router = express.Router();
➊
router.post('/join', isNotLoggedIn, async (req, res, next) => {
const { email, nick, password } = req.body;
try {
const exUser = await User.findOne({ where: { email } });
if (exUser) {
return res.redirect('/join?error=exist');
}
const hash = await bcrypt.hash(password, 12);
await User.create({
email,
nick,
password: hash,
});
return res.redirect('/');
} catch (error) {
console.error(error);
return next(error);
}
});
➋
router.post('/login', isNotLoggedIn, (req, res, next) => {
passport.authenticate('local', (authError, user, info) => {
if (authError) {
console.error(authError);
return next(authError);
}