Boiler-Plate
-
MERN 기본파일 만들기 - 6) authentification기능 구현하기(middleware사용)NODE.JS 2021. 5. 13. 13:39
사이트에 들어가서 메뉴를 보면 로그인 한 사람만 자신의 특정 데이터를 볼 수 있도록 지정한다. 그런데 페이지를 클릭해서 들어가게 되면 반복해서 로그인을 해야하는 경우가 생기지 않도록 로그인 된 정보를 authentification해서 유지되도록 하는 기능을 구현하도록 한다. 페이지를 이동할때마다 userid가 일치하는지를 확인하기 위해서 가진 client의 token을 decode해서 server에 보내 user_id확인하는 작업을(복호화) 계속 할것이다. 이는 middleware를 이용해서 구현하도록 할 것이다. 다음과 같은 폴더와 파일을 생성해준다. auth.js파일에 다음과 같은 내용을 입력해준다. const { User } = require('../models/User'); //auth할때 사용자..
-
MERN 기본파일 만들기 - 5)login 기능 만들기(jsonwebtoken 사용)NODE.JS 2021. 5. 13. 13:28
jsonwebtoken 기능을 이용해서 입력한 정보와 db상의 정보 일치여부에 따라서 로그인 처리하는 기능을 만든다. jsonwebtoken 사용법은 다음의 사이트에서 확인가능하다. https://www.npmjs.com/package/jsonwebtoken jsonwebtoken JSON Web Token implementation (symmetric and asymmetric) www.npmjs.com npm install jsonwebtoken --save를 실행해준다. 그 다음 index.js에 login api를 만든다. 제일먼저 이메일을 찾고, 비밀번호를 비교한후, token을 생성하는 단계로 넘어간다. app.post('/api/users/login', (req, res)=>{ //find ..
-
MERN 기본파일 만들기 - 4)회원의 비밀번호 hash코드로 숨기기(bcrypt)NODE.JS 2021. 5. 13. 13:19
회원의 비밀번호 같은 정보는 mongodb에서 직관적으로 노출되면 안되기 때문에 bcrypt를 이용해서 숨겨진 상태에서 노출되도록 지정한다. 다음의 사이트에서 사용법을 확인할 수 있다. https://www.npmjs.com/package/bcrypt bcrypt A bcrypt library for NodeJS. www.npmjs.com npm install bcrypt --save 를 먼저 해주고 , register 파트에서 사용자save를 해주기 전에 비밀번호를 bcrypt해서 저장하도록 설정해줄것이다. user.save하기전에 무언가 실행되도록 설정한다. User.js에 다음과 같은 부분을 추가해준다. const mongoose = require('mongoose'); const bcrypt = ..
-
MERN 기본파일 만들기 - 3)nodemon 설치하고 private정보 숨기기NODE.JS 2021. 5. 13. 13:12
매번 변경사항이 저장될때마다 다시 서버를 껐다가 다시 킬 필요없이 바로 적용되게끔 nodemon을 설치하자 terminal에 npm install nodemon --save-dev를 실행시켜준다. 여기서 -dev는 개발 단계에서만 필요하기 때문에 개발모드에만 적용시키는 것이다. start만 눌러도 nodemon이 실행되도록 package json부분을 수정해준다. "scripts": { "start": "node server/index.js", "backend": "nodemon server/index.js", npm run backend만 눌러줘도 알아서 서버부분의 index.js를 nodemon으로 실행시켜준다. mongodb의 cluster 주소나 아이디, 비밀번호의 경우 노출되면 안되는 priva..
-
MERN 기본파일 만들기 - 1) node, express 실행하고 mongodb연결하기, BodyParser & Postman 이용해서 register생성NODE.JS 2021. 5. 10. 20:55
https://www.youtube.com/watch?v=yScMn7iBa1g&list=PL9a7QRYt5fqly7BrCxOS71BqLLb9OeXKd&index=1&ab_channel=JohnAhn MERN공부를 할때 정말 도움이 많이 되는 사이트다. 프로젝트를 진행할 때 항상 이 boiler - plate를 가져와서 만드시는데, 이 기본 바탕을 생성하는 강의가 궁금해서 공부한다. 제일먼저 프로젝트를 만들고 싶은 폴더에 terminal로 npm init을 실행해준다. description과 name만 설정해주고 다른건 모두 엔터. vscode에서 실행 후 index.js파일을 만들어주고, npm install express --save, npm install mongoose --save를 해준다.(mon..