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

사과나무배나무님의 프로필 이미지

작성한 질문수

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

노드 리액트 기초 강의 #12 토큰 생성 with jsonwebtoken

12강 소스코드에러 질문드립니다.

해결된 질문

작성

·

307

0

혹시 index.js 파일 예제로 받을 수 는 없을까요 ㅠㅠ? 처음으로 놓친 코드? 괄호나 아무리 실수를 찾아봐도 후우.. 12강부터 소스에러가 나는데 도저히 찾을 수 가 없네요

11강까지는 제대로 동작하고 실습도 따라했습니다.

https://drive.google.com/file/d/1MHHLdfA7GxeYkpqtaQPRzBeIRmrmBJIc/view?usp=sharing

제가작성한 index.js파일입니다.

답변 2

0

John Ahn님의 프로필 이미지
John Ahn
지식공유자

2020. 07. 06. 23:30

안녕하세요 지원님 ! 

우선 한군데 한군데 알려드릴게요 ^ ^

우선 처음으로는 endpoint 부분에  .  이 점을 없애주셔야 됩니다 ~ 

app.post("./login", (req, res) => {

여기 보면 ./login 보이시죠 ~ ?  => /login 이렇게 해주시고요 ~ 

두번째로는 

return res.json({
loginSuccess: false,
message: "비밀번호가 틀렸습니다.",

//비밀번호 까지 맞다면 토큰을 생성하기.
user.generateToken((err,user) => {
if (err) return res.status(400).send(err);

//토큰을 저장한다 쿠키에
res.cookie("x_auth",user.token)
.status(200)
.json({ loginSuccess: true, userId: user._id })

})

이것과 

return res.json({
loginSuccess: false,
message: "비밀번호가 틀렸습니다."
})

//비밀번호 까지 맞다면 토큰을 생성하기.
user.generateToken((err, user) => {
if (err) return res.status(400).send(err);

//토큰을 저장한다 쿠키에
res.cookie("x_auth", user.token)
.status(200)
.json({ loginSuccess: true, userId: user._id })
});
});

이것의 차이입니다. 

어떠한 차이냐면  원래는 만약에 비밀번호가 같지 않다면 

if(!isMatch) return res.json({ loginSuccess: false, message: "~~~"})  이런식으로 비밀번호가 맞지않을떄의 
부분을 마무리를 지어주시고 

비밀번호 같은것을 찾았다면 그 다음 순서를 나가주셔야 합니다 ^^ 

수고하세요 ~ ! 

0

사과나무배나무님의 프로필 이미지

2020. 07. 06. 23:04

user.generateToken((err,user) => {

            if (err) return res.status(400).send(err);

            //토큰을 저장한다 쿠키에

            res.cookie("x_auth",user.token)

            .status(200)

            .json({ loginSuccess: true, userId: user._id })

        })  

정확히 이녀석만 추가하면 오류가 나기시작합니다.