소개
소개글이 비어있어요
게시글
질문&답변
11,12 강의 중 Compare 관련 질문
db에 입력된 비밀번호가 암호화되어있지 않아서 발생한것 같습니다.회원가입할때 userSchema.pre('save', db)메소드에서 bcrypt 사용해서 암호화하신 후에 db에 저장하신건가요?bcrypt의 compare함수는 123456와 this.password(암호화되어 db에 저장되있는)를 인자로 받아서 알아서 비교해주는 lib 함수입니다.지금 this.password와 plainpassword가 둘다 123456으로 나오는거 보니 pre에서 암호화가 되지 않은것 같아 보입니다.
- 0
- 2
- 293
질문&답변
고수분들의 도움이 필요합니다.
해결되었습니다.아침에 일어나서 다시보니 일단 fineone에서 받은 user객체를 통해서 이메일/비번을 체크해야했는데 User라는 새로운 객체를 만들어서 접근했습니다. 새로운 객체로 접근하면 req으로 받은 user는 비밀번호가 포함된 반면에 새로운 객체는 모든 값이 비어있는 상태이기에 일단 로직이 틀렸습니다.그리고 아마 원인은 User.js에서 User 모델을 만드는 과정이 메소드 위에 있어서 메소드가 인식이 안되지 않았나 싶습니다.
- 0
- 1
- 276
질문&답변
어떻게 요청 비밀번호와 DB의 비밀번호가 같다고 확인할 수 있는지 모르겠어요
plainpassword를 암호화하고 그것과 password를 비교하는 것은 compare함수 안에 있는 자체적인 기능입니다.bcrypt.compare는 우리가 만든 함수가 아니라 라이브러리로서 다운받아 온 기능입니다.
- 0
- 2
- 205