인프런 커뮤니티 질문&답변

jaeyoung Lee님의 프로필 이미지
jaeyoung Lee

작성한 질문수

Vue로 Nodebird SNS 만들기

회원가입시 로그인

작성

·

266

0

안녕하세요 

회원가입시 로그인이 바로구현이 되게 하고싶은데 

 

//회원가입
router.post('/',isNotLoggedIn ,async (req,res,next)=> {
 
    try{
       
        const hash = await bcrypt.hash(req.body.password, 12);
       
        //////이메일로 중복가입 체크//
        const exUser = await db.User.findOne({
            where:{

                email : req.body.email,
            },
        });
        if(exUser) {
            return res.status(403).json({
                errorCode : 1,
                message : "이미 회원가입되어있습니다."
            })
        }
        ///이메일 중복가입체크 끝 ////

        const newUser = await db.User.create({
                email : req.body.email,
                nickName : req.body.nickName,
                password : hash,
        });//HTTP STATUS CODE

        await passport.authenticate('local',(err,user,info)=>{
            //에러시나 info 에 정보 (실패사유)
            if(err){
                console.error(err);
                return next(err);
            }
            if(info){
                return res.status(401).send(info.reason);
            }

            return req.login(user,async(err)=> {
             
                if(err){
                    console.error(err);
                    return next(err);
                }
                return res.json(user);
            });
        })(req,res,next);
   

        // return res.status(201).json(newUser);
    }catch(err) {
        console.log(err);
        next(err);
    }
});
 
이렇게하면 프론트 store쪽에 user가 전달이되는데 백쪽에서는 로그인이 제대로 되지가않는데 더 확인해봐야할부분이 있을까요?

답변 1

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

일단 백엔드쪽에서는 에러 없이 200 성공인건가요? 그렇다면 로그인은 되었는데 브라우저에서 쿠키 전달이 제대로 안 되는 것일 수도 있습니다.

jaeyoung Lee님의 프로필 이미지
jaeyoung Lee

작성한 질문수

질문하기