WEB5 - Express passport.js

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

수업소개

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

 

 

 

강의

 

 

 

소스코드

변경사항 

댓글

댓글 본문
작성자
비밀번호
  1. goyacommae
    저는 세션을 쓸때 nodemon이 자동으로 세션파일이 변경됨에 따라 껏다키는 작업을 하고있더라구요
    그래서 바로바로 불러오지 못하는 거겠구요
    그럴때 nodemon -i ./sessions bin/www -i로 세션 을 제외한 나머지만 리프레쉬 하는 걸로 하면 잘됩니다
    pm2도 제외하는 기능 있을거에요..!
  2. jo_onc
    세션정보를 바로바로 불러오지 못하네요... 따흐흑..
  3. 삼고잉
    잘 읽었습니다
  4. 포로리야
    저도 세션 반응이 늦거나 저장이 안되는 경우가 빈번하여 커스텀 콜백을 작성해서 썼습니다.

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

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