스승님 방법을 찾아냈습니다! 역시 사람은, 생각을 해야 하는 동물인가봅니다 passwordEncoder의 내부에 matches라는 메소드가 있길레, 이걸 사용할수 있지 않을까 검색좀 해보니, 제가 원하는 움직임을 해주는 메소드였습니다. 코드로 설명드리자면 아래와 같습니다! 이렇게 하니, 현재의 비밀번호 확인 후, 비밀번호 변경완료까지 확인 하였습니다. 스승님 코딩왕 될때까지 파이팅 하겠습니다!
스승님 오늘 다른방법을 도전해봤는데, 한번 봐주십시오. 기존은 비밀번호를 select해왔었는데, 유저정보를 가져있기 때문에, 유저정보로 select를 해봤습니다. 위와 같이 해도, 현재의 비밀번호와 DB가 가지고 있는 비밀번호가 달라서 원하는 움직임을 해주지는 않았습니다. 디버그로 알아보니, 같은 값을 줘도, passwordEncoder .encode 를 하면 해쉬값이 매번 바뀌는것을 확인하였습니다(솔트? 가 적용되어 있는걸 지난 강의에서 확인하였습니다.) 그래서, passwordEncoder .encode 했던 값을, 다시 되돌리는 방법을 좀 알아봤는데, 아직까지 찾지는 못했네요. 무슨 방법 있을까요?
에러가 발생했는데, 저같은 분이 계실까 싶어서 해결방법 메모 남깁니다. 20/06/18 【에러 내용】 Error: Cannot find module 'C:\Users\Administrator\Documents\boilerplate-mern-stack\node_modules\bcrypt\lib\binding\bcrypt_lib.node' Require stack: - C:\Users\Administrator\Documents\boilerplate-mern-stack\node_modules\bcrypt\bcrypt.js - C:\Users\Administrator\Documents\boilerplate-mern-stack\server\models\User.js - C:\Users\Administrator\Documents\boilerplate-mern-stack\server\routes\users.js - C:\Users\Administrator\Documents\boilerplate-mern-stack\server\index.js at Function.Module._resolveFilename (internal/modules/cjs/loader.js:980:15) at Function.Module._load (internal/modules/cjs/loader.js:862:27) at Module.require (internal/modules/cjs/loader.js:1040:19) at require (internal/modules/cjs/helpers.js:72:18) at Object. (C:\Users\Administrator\Documents\boilerplate-mern-stack\node_modules\bcrypt\bcrypt.js:6:16) at Module._compile (internal/modules/cjs/loader.js:1151:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1171:10) at Module.load (internal/modules/cjs/loader.js:1000:32) at Function.Module._load (internal/modules/cjs/loader.js:899:14) at Module.require (internal/modules/cjs/loader.js:1040:19) at require (internal/modules/cjs/helpers.js:72:18) at Object. (C:\Users\Administrator\Documents\boilerplate-mern-stack\server\models\User.js:2:16) at Module._compile (internal/modules/cjs/loader.js:1151:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1171:10) at Module.load (internal/modules/cjs/loader.js:1000:32) at Function.Module._load (internal/modules/cjs/loader.js:899:14) { code: 'MODULE_NOT_FOUND', requireStack: [ 'C:\\Users\\Administrator\\Documents\\boilerplate-mern-stack\\node_modules\\bcrypt\\bcrypt.js', 'C:\\Users\\Administrator\\Documents\\boilerplate-mern-stack\\server\\models\\User.js', 'C:\\Users\\Administrator\\Documents\\boilerplate-mern-stack\\server\\routes\\users.js', 'C:\\Users\\Administrator\\Documents\\boilerplate-mern-stack\\server\\index.js' ] } npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! react-boiler-plate@1.0.0 start: `node server/index.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the react-boiler-plate@1.0.0 start script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\Administrator\AppData\Roaming\npm-cache\_logs\2020-06-18T10_40_06_821Z-debug.log 【에러 해결】 "bcrypt" : "^3.0.6" , bcrypt의 버전이 문제인듯 싶어서, 아래와 같이 변경 "bcrypt" : "^5.0.0" , 하여 npm install 재 실행 해주면, 인스톨에 성공 하게 됩니다.