해결된 질문
작성
·
241
0
강의 9.3 에서 route/auth.js 파일에서 passport.authenticate('local')부분이 호출되는 것 까지는 이해가 됩니다. 근데 왜 authenticate에서 passport/localStrategy.js(전략코드) 가 실행이 되는건지 모르겠습니다. 'local'이라는 매개변수가 있다고 해도 localStrategy.js를 실행하라는 뜻은 아닐것인데 말이죠. 로그인 구현 흐름 자체는 이해가 되나 이쪽 부분이 어떤 논리로 이어지는건지를 모르겠습니다.
답변 1
0
'local'이 localStrategy를 실행하라는 뜻이 맞습니다. 다만 그게 라이브러리 내부라서 안 보이는 것입니다.
그 이유는 passport.use(new Strategy로 로컬 스트레트지를 등록할 때 'local'과 해당 Strategy를 연결해 놓기 때문입니다. 즉 'passport.athenticate('local')은 passport.use로 등록한 로컬스트레트지를 실행하는 겁니다.