passport로 로그인 에러 시 payload 전달 방법
미해결
[리뉴얼] React로 NodeBird SNS 만들기
강사님, 안녕하세요. 혼자서 해보려다가 도저히 모르겠어서 질문 드립니다. 로그인 에러 시 각각 상황에 맞는 logInError를 안내하고 싶어서 제작 중인데, 회원가입할때도 다른 작업할때도 에러나면 payload 값이 잘 나오던데, 로그인 할때만 에러나면 Payload 값이 undefined 로 나오네요. 회원가입한적 없는 아이디일때 "존재하지 않는 이메일입니다" 아이디는 있으나 비밀번호가 틀렸을때 "비밀번호가 틀렸습니다" /back/routes/user.js 에서 //SignUp router . post ( '/' , isNotLoggedIn , async ( req , res , next ) => { try { *** if ( exUser ) { return res . status ( 403 ). json ( '이미 가입된 아이디입니다.' ); } *** } catch ( error ) { console . error ( error ); next ( error ); } }); 이렇게 json 형태로 에러 메시지를 적어주면 front로 전달 된다고 배웠고, 회원가입이나 다른 호출은 다 잘 출력됩니다. 그런데 login 쪽만 payload(logInError)가 undefined 로 나옵니다. (개발자도구 네트워크에서는 메시지가 잘 찍힙니다.) router . post ( '/login' , isNotLoggedIn , ( req , res , next ) => { passport . authenticate ( 'local' , ( err , user , info ) => { *** if ( info ) { return res . status ( 401 ). json ( info . reason ); } *** })( req , res , next ); }); /back/passport/local.js *** module . exports = () => { passport . use ( new LocalStrategy ( *** async ( userid , password , done ) => { try { *** if (! user ) { return done ( null , false , { reason : '존재하지 않는 이메일입니다!' }); } *** return done ( null , false , { reason : '비밀번호가 틀렸습니다.' }); } catch ( error ) { *** } } ) ); }; //회원가입 페이지 /front/reducers/user.js //회원가입 페이지 //로그인 페이지 회원가입과 다르게 로그인은 passport가 쓰여서인듯 한데, 에러 났을때 payload 값을 가져오게 할 방법이 있을까요?
- passport
- redux
- payload
- react
- nodejs
- express
- Next.js





