inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

포스트맨에서 html처럼뜹니다 ㅠ

754

하루하루

작성한 질문수 4

1

선생님 포스트맨에서 이렇게 html구조처럼해서 뜨는데 어디가 잘못되었을까요 ? ㅠㅠㅠㅠ

 

https://github.com/hyeongsan/boiler-plate

nodejs react

답변 2

1

John Ahn

안녕하세요 !  user 값이 없어서 그러는데 그 이유는 user값은 findOne 메소드 이후에 콜백으로 받아오는데 
현재 그 안에서 user 값을 사용할 수 있습니다 


app.post('/api/users/login', (req, res) => {

//요청된 이메일을 데이터베이스에서 있는지 찾는다.
User.findOne({ email: req.body.email }, (err, user) => {
if (!user) {
return res.json({
loginSuccess: false,
message: "제공된 이메일에 해당하는 유저가 없습니다."
})
}
})

//요청된 이메일이 데이터 베이스에 있따면 비밀번호가 맞는 비밀번호인지 확인.
user.comparePassword(req.body.password, (err, isMatch) => {
if (!isMatch)
return res.json({ loginSuccess: false, message: "비밀번호가 틀렸습니다." })

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

// 토큰을 저장한다. 어디에 ? 쿠키, 로컬스토리지1
res.cookie("x_auth", user.token)
.status(200)
.json({ loginSuccess: true, userId: user._id })
})

})
})

이렇게 되어있는걸 아래 처럼 수정해주세요 ! 

app.post('/api/users/login', (req, res) => {
//요청된 이메일을 데이터베이스에서 있는지 찾는다.
User.findOne({ email: req.body.email }, (err, user) => {
// console.log('user', user)
if (!user) {
return res.json({
loginSuccess: false,
message: "제공된 이메일에 해당하는 유저가 없습니다."
})
}
//요청된 이메일이 데이터 베이스에 있다면 비밀번호가 맞는 비밀번호 인지 확인.
user.comparePassword(req.body.password, (err, isMatch) => {
// console.log('err',err)
// console.log('isMatch',isMatch)
if (!isMatch)
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 })
})
})
})
})

 

수고하세요 ~! 

 

1

진호강

죄송한데 어디를 수정한거에요? 

0

금융권개발자

해결했습니다. 괄호밖에 있는 문장들을 괄호 안에 넣어주면 되네요.

깃 이메일이랑 비번이 필요하다고 하네요

0

42

1

404 에러

0

108

1

34강 인증 체크에서 element 사용 때문에 에러나시는 분들 이렇게 하심 됩니다.

0

125

1

로그인, 로그아웃, 토근 작동 안 함

0

246

0

9강 오류 어떻게 해결하나요?

0

195

1

localhost 에서 연결을 거부했습니다.

0

1954

4

포스트맨에서 true가 안떠요

0

153

1

왜 안되나요

0

130

1

몽고db 연결 오류가 납니다 위에껀 입력한 코드, 아래껀 터미널이에요

0

246

1

로그아웃 401 에러(Unauthorized)

0

508

2

암호가 해싱되지 않고 입력값 그대로 db에 저장되는 문제

0

152

1

7강중에서

0

169

2

User.findByToken is not a function

0

214

1

루트 디렉토리

0

276

1

useState

0

565

1

프록시 잘 설정했는데도 404 오류 뜨는 분들

5

880

6

webpack 관련 에러 질문

0

223

1

리액트 관련 질문

0

276

1

14강 로그아웃 안됨

0

322

1

mongoDB 데이터 확인하는 법

0

413

1

postman 에러

0

295

1

선생님 리덕스를 사용하면 어떠한 부분이 좋은지 알 수 있을까요?

0

238

1

다음과 같은 에러들이 발생합니다.

0

278

1

14강 로그아웃 기능 구현시 postman에서 Cannot POST 오류가 뜹니다.

0

380

1