728x90 분류 전체보기27 #8. Auth 기능 만들기 Auth 를 왜 만들어야 하나 😉 ? 1. 페이지 이동 시 로그인되어있는지 안되어있는지, 관리자 유저인지 등을 체크 2. 글을 작성하거나 지워야 할 때, 권한이 있는지 체크 How !! 1. Cookie 에서 저장되어있는 Token을 Server에 가져와서 복호화를 한다. 2. 복호화를 하면 User ID가 나오게 된다. 그러한 User ID 를 이용하여 데이터베이스 User Collection에서 유저를 찾은 후, 쿠키에서 받아 온 token이 유저도 갖고있는지를 확인한다. User.js // user.js ... userSchema.statics.findByToken = function ( token , cb ) { var user = this; user._id + '' = token; // 토큰을 .. 2020. 12. 26. #7. Bcrypt 로 비밀번호 암호화 하기 Bcrypt (비크립트) ? 회원가입 시 비밀번호 문자열을 그대로 DB에 저장하는 것은 굉장히 위험하고 안전하지 않다. 그렇기떄문에 Bcrypt ( 비크립트 ) 를 이용하여 password를 암호화 하여 데이터 베이스에 저장해줘야 한다. * bcrypt는 단방향 암호화이기 때문에 복호화가 불가능하다. ( 복호화란? 암호화된 문자열을 다시 원래 문자열로 해독하는 것을 의미 ) 설치 ⚙️ > npm install bcrypt --save Bcrypt 로 비밀번호 암호화하는 순서 🧏🏻♀️ 1. Register Route로 가기 2. 유저 정보들 ( Account, Password 등등 ) 을 데이터 베이스에 저장하기 전에가 암호화 할 타이밍이다. www.npmjs.com/package/bcrypt bcryp.. 2020. 12. 12. #6. 환경 변수 process.env.NODE_ENV 설정하기 비밀 설정 정보 관리 🔐 git에 올릴때 DB 또는 IP 등의 정보를 비밀로 설정하기 위해 .gitignore에 설정을해주어야한다. config라는 폴더를 만들고, dev.js 파일을 만들어 다음과 같이 설정해준다. 환경변수 process.env.NODE_ENV ⚙️ 보통 개발을 진행할때 두가지의 환경에서 할 수 있다. Local환경의 development 환경, Deploy(배포)한 후 production 환경으로 나뉜다. 따라서 개발환경과 운영서버환경에서의 환경 변수를 따로 설정해주어야한다. 다음과 같이 개발서버, 운영서버의 환경을 나누어줄 파일을 생성하여 각각 다음과 같이 작성해준다 dev.js ( 개발 서버 ) module.exports = { mongoURI:'개인 mongoDB' }; key... 2020. 11. 25. #5. Nodemon 설치 Nodemon ? 기존의 node는 서버를 키고, 무언가를 바꿨을때 서버를 내렸다가 다시 기동시켜야지 반영이 되지만 Nodemoon은 굳이 서버를 올리고내리지 않아도 소스의 변화를 감지하여 적용시키는 것이다. Nodemon 설치하기 👩🏻💻 > npm install nodemon --save-dev 다음과 같이 터미널에 nodemon을 다운받는다. -dev를 함께 붙이는 이유는 개발서버(develop)의 모드와 운영서버(production) 의 모드가 다르기때문에 '-dev'는 local에서만 사용하겠다는 뜻이다. package.json에 다음과 같이 추가된것을 확인 할 수 있다. 2020. 11. 24. 이전 1 2 3 4 5 6 7 다음 반응형