목록Node.js (7)
honey_pot
http://www.passportjs.org/packages/passport-google-oauth20/ ✨ 설치 ✨ passport-google-oauth20 을 설치한다. $ npm install passport-google-oauth20 ✨ 사용법 ✨ Google 클라우드 플랫폼 (https://console.cloud.google.com/apis) 에서 프로젝트를 생성한다. 포도알 세개 배너 - 새프로젝트 프로젝트 이름을 설정한다. 1️⃣ OAuth 동의 화면 구성 생성된 프로젝트의 서비스단에서 OAuth 동의 화면을 먼저 설정한다. google workspace 사용자가 아니면 외부 type만 설정 가능하다. 앱 이름을 작성하고 이메일은 default가 지금 로그인한 계정이다. 앱 로고는 au..
http://www.passportjs.org/ https://www.npmjs.com/package/passport-local-mongoose https://www.npmjs.com/package/express-session ✨ 설치 $ npm i passport passport-local passport-local-mongoose express-session ✨ express-session 사용법 ✨ 다운받은 패키지를 모두 불러온다. passport-local 패키지는 passport-local-mongoose를 사용하기 위해 필요한 패키지이여서 직접 사용하지 않기 때문에 불러오지 않는다. saveUninitialized : 초기화되지 않은 세션을 저장소에 저장한다. false 일 경우 쿠키가 초기화..
https://www.npmjs.com/package/bcrypt ✨ 설치 쓰고 있는 노드 버전에 맞는 패키지를 설치해야 한다. 그렇지 않으면 예시의 에러가 발생한다. 쓰고 있는 버전은 14.16.1 이므로 bcrypt는 3.0.6 이상 버전을 설치한다. default는 최신 버전이므로 그냥 npm i bcrypt 입력 app.js 에 const bcrypt = require("bcrypt"); 추가하고 saltRounds 를 지정한다. rounds 수에 "따라 hash의 양이 달라진다. ✔ 비밀번호 해싱 방법 두 가지가 있는데 여기서는 자동으로 salt와 hash를 생성하는 hash() 메서드 방법으로 사용했다. 회원가입 post 메서드 안에 hash(바꿀 비밀번호, saltRounds, 콜백) 형태로..
https://www.npmjs.com/package/md5 ✨ 설치 사용할 폴더 내에서 터미널 열고 npm install md5 입력 🔆 사용 app.js에 const md5 = require("md5"); 추가 가입할 때 POST로 받은 password를 md5로 감싸서 hashing한다. ... password: md5(req.body.password) 회원가입을 진행하고 확인한 데이터베이스에서 비밀번호가 해시코드로 변환된 것을 볼 수 있다. "123456" 을 md5로 hashing 했을 때의 결과와 일치한다. 로그인 시에는 입력받은 password를 해싱하여 데이터베이스의 해시형태의 비밀번호와 비교한다. const password = md5(req.body.password);
https://www.npmjs.com/package/dotenv ✨ 설치 # with npm npm install dotenv # or with Yarn yarn add dotenv 🔆 사용법 app.js에 require('dotenv').config() 추가 ✔ 가장 먼저 환경에 import되어야 하므로 꼭 맨위에 써야한다. ✔ (.config()를 추가했으므로 앞에 'const sth =' 을 붙여줄 필요가 없다.) ✨ config는 .env 파일을 읽고 .env 내의 content를 분석하고 process.env 에 대입한다. .env 파일을 만들고, NAME(대문자) = Value 형태로 코드를 추가한다. ✔ 이름=", ; 없이 딱 값만 적는다. ✔ 두개 이상을 적을 때에도 문장 끝에 , (콤마..
https://www.npmjs.com/package/mongoose-encryption 터미널에 npm i mongoose-encryption 입력 app.js 에 require("mongoose-encryption") 추가 const secret = "암호화할 문구" userSchema.plugin(encrypt, { secret: secret }); 특정 field만 암호화하는 encryptedFields: [' '] 를 추가한다. 데이터 대상 뒤에 비밀번호를 암호화하는 encrpytedFields: ['password'] 추가 (다른 부분도 암호화하고 싶다면 'password', 'sth', 'sth' 식으로 array를 만든다.) 이렇게 코드를 작성하고 회원가입을 하면 비밀번호가 binary 형..
mongoDB 홈페이지에 들어가자마자 start free부터 sign up까지 cloud를 이용해보라고 몰아치는데 여기선 무시한다. (cf . aws를 이용하려면 가입해서 auth key를 받아야한다.) mongoDB download center에서 윈도우용 설치 페이지로 이동한다. ✔설치는 zip보다 msi 로 하는 것이 편하다. 다운받은 msi 인스톨러에서 compass 버전 - Compass 설치 체크 해제 MongoDB가 설치되었다면 C드라이브에 들어가 data 폴더 생성 - 그 안에 db 폴더를 생성한다. ❗ 터미널을 이용해서 path configuration $ cd ~ 입력 후 루트로 이동한다. $ touch .bash_profile : .bash_profile 생성 $ vim .bash_p..