Error code 모음/6. Jav Script errors

[Node.js] req.flash is not a function - Passport 사용시 나타날 수 있는 에러들

쟈누이 2021. 10. 7. 11:11
반응형

 

 

1. 에러의 원인


req.flash is not a function 이 나타나는 에러의 원인은 다양한 것 같다.

정확하게 에러의 원인이 이것이다! 하고 단정하기는 어렵지만 서칭을 해보니 

2가지의 원인이 있는 것 같다

  • authenticate 에서 에러가 뜨는 상황
  • req.flash를 사용헤 flash 메세지를 얻어오려는데 못얻어오는 상황.

 

나의 경우에는 req.flash 를 사용하지 않았는데 위 에러가 떴기에 좀 찾는데 시간이 오래 걸렸었다.

 

 

 

 

2. 해결 방법


 

1) Passport 사용시 Client에서 서버로 요청까지는 보내지는데 authenticate 에서 에러가 뜨는 상황

 

login 모듈을 사용시에 LocalStrategy 통해 로그인 정보를 받는다

 passport.use(new LocalStrategy({ // local 전략을 세움
    usernameField: 'id',
    passwordField: 'pw',
    session: true, // 세션에 저장 여부
    passReqToCallback: false,
  }, (id, password, done) => { ... }

이 때 아래와 같이 usernameField, passwordField 에 form 의 어떤 정보를 받을지 기입을 해줘야되는데

form 에서 전달받는 id, name 형식과 LocalStrategy 에 저장된 key 가 다르면 받아들이지를 않기에

req. flash 에러가 뜰 수 있다.

 

req.flash 를 사용하지 않았는데 위 에러가 뜨면 설정한 field 가 일치하는지 살펴봐야겠다.

 


 

2) req.flash 를 사용했는데 에러가 뜨는 상황

 

이런 에러는 사소한 이유로 발생을 하는것 같다. 하직 해당 에러를 겪지는 않았기에

추후에 에러를 찾을 경우 대비해 아래 링크 기록해둔다

 

https://www.inflearn.com/questions/8701

 

TypeError: req.flash is not a function - 인프런 | 질문 & 답변

이 에러가 계속떠서 에러위치 찾아보니깐 req.flash사용한 부분에서 에러가 나는데 필요한 모듈설치와 미들웨어 설정도 했는데 왜이런가요? - 질문 & 답변 | 인프런...

www.inflearn.com

https://stackoverflow.com/questions/34310348/passport-and-connect-flash-req-flash-is-not-a-function

 

Passport and connect-flash: req.flash is not a function

I'm learning flash messaging in passport and got stuck on this error when running my script: req.flash is not a function Here is my configuration: var flash=require("connect-flash"); app.use(fla...

stackoverflow.com

 

https://unordinarydays.tistory.com/119

 

[NodeJs] PassPort 로그인 기능 구현시 trouble shooting

Scenario NodeJS의 npm 모듈중 passport를 쓰면서, 분명히 가이드라인대로 했는데 안되는 게 좀 있엇다. 다들 어이없는 이유로 안됬는데, 이런거땜에 1~2시간은 족히 소요되는 것 같다. 1.Passport 사용시 Cli

unordinarydays.tistory.com

 

반응형