WEB5 - Express passport.js

passport.js 플래쉬 메시지의 적용

수업소개

passport.js와 connect-flash를 연동하는 방법을 살펴보겠습니다. 

 

 

 

강의

 

 

 

소스코드

변경사항 

댓글

댓글 본문
작성자
비밀번호
  1. 삼고잉
    잘 읽었습니다
  2. 포로리야
    저도 세션 반응이 늦거나 저장이 안되는 경우가 빈번하여 커스텀 콜백을 작성해서 썼습니다.

    app.post('/auth/login_process', function (req, res, next) {
    passport.authenticate('local', function (err, user, info) {
    console.log(info);
    if (info) { // info로 들어온 플래시 메세지 처리
    req.session.flash.error = [info.message];
    } else {
    req.session.flash.success = ['Welcome.'];
    }
    if (err) {
    return next(err);
    }
    if (!user) { // user에 정보가 안들어 왔을 경우
    return req.session.save(function (err) {
    if (err) {
    return next(err);
    }
    return res.redirect('/auth/login');
    })
    }
    req.logIn(user, function (err) { // (아마) 첫번재 인자를 serializeUser로 넘기고 콜백으로 그 이후 처리를 작성
    if (err) {
    return next(err);
    }
    return req.session.save(function (err) {
    if (err) {
    return next(err);
    }
    return res.redirect('/');
    });
    });
    })(req, res, next);
    });

    passport custom callback 문서를 참조하여 작성했어요
  3. Kim Doyle
    저도 동일 증상이있었습니다, 로그인 확인 후 리다이렉션되는 것이 더욱 빨라서 세션의 반응을 따라 가지 못하는것 로그를 확인하여, 리다이렉션때 딜레이 시키는 방법을 찾아보았지만 전체적으로 딜레이를 시켜서 해결하였습니다.
    (리다이렉션에서만 또는 홈에서만 작동하는 방법은 남은 강의 후 적용해 보려합니다.. express-Timeout을 쓰면될꺼같긴하지만.....)

    npm에 express-delay 해당 미들웨어를 사용하였습니다.
    도움이 되었으면 좋겠습니다 !
    /1초로(1000) 했을때가 가장 정확히 반응을 하는데,
    실제 서비스라고 생각하면 너무 느려서 공부할때만 참고해주세요 ~
  4. Hyung Jun Choi
    이전 토픽부터 로그인 후 세션이 반응이 왤케 느릴까요.. 로그인 시도를 두세번 반복해야 세션이 수정되네요..ㅠ
    왜이럴까요..ㅠ
graphittie 자세히 보기