inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

노드 리액트 기초 강의 #11 로그인 기능 with Bcrypt (1)

db.findOne() 에서 이메일이 맞을 시에 해당 유저 정보가 전부 다 가져와지는 건가요?

185

이은지

작성한 질문수 2

0

요청한 email이 DB 정보 안에 email에 있을 때 user가 생성되는 건 알겠습니다. 그 뒤에 comparePassword 함수가 실행 되어서 plainPassword는 요청받은 req.body.password가 되는 것이고,  암호화된 'this.password' 는 어디서 받아오는 것인지 궁금합니다ㅠㅠ User.findOne()에서 이메일 찾은 후 그 사용자정보에 있는 password인건가요?

userSchema.methods.comparePassword = function (plainPassword, cb) {
//요쳥받은 비밀번호와 암호화된 비밀번호가 맞는지 확인
bcrypt.compare(plainPassword, this.password, function (err, isMatch) {
if (err) return cb(err);
cb(null, isMatch);
});
};

nodejs react

답변 1

1

John Ahn

안녕하세요 이은지님 ! 

우선 console.log(this)해보시면 유저의 이름이나 이메일 비밀번호를 가져오는걸 볼수있습니다. 

스키마를 이용해서 메소드를 만들어서 사용할때는 그안에서 this를 이용하면 이안에  스키마에 정의해준 컬럼의 값들이 나옵니다~! 

User.findOne은  넵 !! 얘기하신대로 유저 객체를 데이터베이스에서 가져옵니다 !!! 
수고하세요 ~! 

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

0

54

1

404 에러

0

120

1

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

0

138

1

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

0

256

0

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

0

198

1

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

0

1972

4

포스트맨에서 true가 안떠요

0

157

1

왜 안되나요

0

133

1

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

0

250

1

로그아웃 401 에러(Unauthorized)

0

519

2

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

0

158

1

7강중에서

0

177

2

User.findByToken is not a function

0

215

1

루트 디렉토리

0

281

1

useState

0

570

1

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

5

905

6

webpack 관련 에러 질문

0

225

1

리액트 관련 질문

0

282

1

14강 로그아웃 안됨

0

325

1

mongoDB 데이터 확인하는 법

0

414

1

postman 에러

0

297

1

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

0

240

1

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

0

282

1

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

0

385

1