inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

React로 NodeBird SNS 만들기

5-10. passport와 쿠키, 세션 동작 원리

시리얼 라이저 디시리얼 라이저가 실행되는 시점과 세션에 유저 정보를 저장하는 함수와 조회하는 함수를 알려주세여~!

236

terecal

작성한 질문수 162

0


const passportConfig = require('./passport')
passportConfig();

에 의해 passport 설정이 서버 로직에 추가된뒤

라우팅 로직내에서 req.login 이 실행되면 자동으로 serializeUser가 실행되어

서버 세션에 사용자 정보 저장 [id:2, cookie:"asdfasfs"] 되는게 맞나여?

만약 그렇다면

    passport.serializeUser((user, done)=> {
        return done(null, user.id);
    });

에서

return done(null, user.id); 이 세션에 유저 데이터와 쿠키값을 저장하는 함수인가요?

또 쿠키값으로 유저 정보를 검색해서 req.user에 유저정보를 세팅하는게 passport.deserializeUser가 맞나여

    passport.deserializeUser(async(id, done)=> {
        try {
            const user = await db.User.findOne({
                where: { id },
            })
            return done(null, user);
        } catch (e) {
            console.error(e);
            return done(e);
        }
    });

함수 내용이 id로 유저 정보를 찾은뒤에

            return done(null, user);

을 실행하게 되어 있는데 done 함수가 둘다 다른건가여? 두번째 인자에 user는 user 정보를 어디론가 넘기는거 아닌가여?


req.login이 실행되면 시리얼 라이저 디시리얼라이저가 둘다 실행되는건지

어떤 함수에 의해 유저 데이터가 저장되고

어떤 함수에 의해 쿠키로 유저 데이터를 검색해서 req.user에 유저 정보를 세팅하는건지

알려주시면 감사여

강의를 다시 봐야될것 같긴 한데 어려워여 ㅠ;

그리고 passport /index.js에서 왜 local()을 실행하는지도 잘 몰겠어여

javascript react

답변 1

1

제로초(조현영)

serializeUser 자체가 저장하는 함수라고 보시면 됩니다. 이 때의 done은 세션에 무엇을 저장할지에 대한 함수고요.

deserializeUser는 req.user를 설정하는 함수고 이 때의 done은 req.user에 무엇을 저장할지에 대한 함수입니다.

next 10 이상에서는 redux dev tool 구동이 안되나요?

0

272

1

세션 갱신 문의 건

0

484

7

배포 진행 후 Highlight updates components render 표시

0

445

1

똑같은 기능을 하는 테이블

0

448

4

관계형

0

312

2

프론트 서버를 이용하지 않는경우

1

299

3

인피니트 스크롤링 사용시 오류

0

278

0

계속 이런에러가 떠서 해결하기는 했는데 어떤 의미인지 모르겠습니다.

0

435

2

req.user가 언제 생성되나요??

0

330

2

Cannot read property 'id' of null 에러

0

333

1

리트윗한 게시글 불러오는 sequelize

0

252

1

result.data에서 images인 이유

0

281

2

takeLatest에 대한 질문입니다.

1

342

2

프론트에서 express를 사용하지 않을때 동적라우팅

0

501

6

getInitialProps가 클라이언트에서 수행되는 이유?

0

258

1

리로드하면 팔로우 언팔로우 값이 초기화 되는 문제입니다.

0

445

2

스타일드 컴포넌트와 className을 통한 스타일 적용의 차이에 대해 궁금합니다

0

585

2

할인 쿠폰 사용이 안되는되요 (848-f9af83f183e3)

0

365

1

nodejs mvc 패턴

0

976

4

사용하고 보니, 람다 구성이 궁금합니다!

0

266

1

제로초님

0

445

1

새로고침 로그인 풀림 문제.

0

247

1

안녕하세요. 강의 너무 감사합니다

0

157

1

제로초님

0

170

1