npm - connect-flash
connect-flash
사용법 정리
const flash = require('connect-flash');
app.use(session({
resave: false,
saveUninitialized: false,
secret: 'test',
cookie: {
httpOnly: true
},
}));
app.use(flash());
app.get('/flash', function(req, res){
// Set a flash message by passing the key, followed by the value, to req.flash().
req.flash('info', 'Flash is back!') // key = info, value = Flash is back!
// session에 입력한 정보를 기입한다
res.send('flash');
});
app.get('/flash-display', function(req, res){
// Get an array of flash messages by passing the key to req.flash()
res.render('index', { messages: req.flash('info') }); // 한 번 자원을 사용하고 나면 세션에서 사라진다.
});
passport에서 사용하기
app.post('/auth/login_process', passport.authenticate('local', {
successRedirect : '/', // 성공시 이 루트로
failureRedirect : '/auth/login', // 실패시 이 루트로
failureFlash : true // 로그인 실패시 flash message 사용
}));
app.get('/auth/login', (req, res) => {
const fmsg = req.flash();
let feedback = '';
if (fmsg.error) {
feedback = fmsg.error[0]
}
res.render('login', {msg : feedback});
});