일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- TypeScript
- nodejs
- cookie
- nestjs
- 게임
- class
- Dinosaur
- AWS
- JavaScript
- Bull
- jest
- 정렬
- Nest.js
- dfs
- Sequelize
- react
- game
- OCR
- typeORM
- mongoose
- MySQL
- 자료구조
- 공룡게임
- GIT
- flask
- Express
- Queue
- Python
- MongoDB
- Today
- Total
목록bcrypt (5)
포시코딩
지금까지는 회원가입 과정에서의 서비스 단에서 비밀번호를 암호화해왔다. 기존 코드 auth.service.ts import * as bcrypt from 'bcrypt'; @Injectable() export class AuthService { async signupBuyer(body: signupBuyerDTO) { const { password } = body; const passwordHash = await this.hashPassword(password); body.passwordHash = passwordHash; // 회원가입 로직 } private async hashPassword(password: string) { return bcrypt.hashSync(password, 10); } } 하..
이전 글에서 로그인 기능을 완성했다면 로그인 후 세션에 유저정보가 잘 저장되어 있는지 확인하는 시간을 가져보자 마이페이지 대충 만들어서 들어가면 유저아이디 나오나 확인할거임 mypage.ejs 를 만들자 님의 마이페이지입니다. member.js 로 와서 mypage 로 가는 라우팅을 해주자 router.get('/mypage', loginCheck, (req, res)=>{ res.render('mypage.ejs', {userSession: req.user}); }) 평소에 만들던 라우터와 살짝 다른걸 볼 수 있는데 {userSession: req.user} 는 userSession 이라는 이름으로 세션에 담긴 유저정보를 보낸다는 의미이고 '/mypage' 옆 loginCheck 는 마이페이지로 가기전..
로그인은 Node.js Express 의 인증 미들웨어인 Passport.js 를 이용해 구현할거임 먼저 설치 ㄱㄱ npm install passport passport-local express-session member.js const passport = require('passport'); const LocalStrategy = require('passport-local').Strategy; const session = require('express-session'); var router = require('express').Router(); router.use(session({secret:'비밀코드', resave: true, saveUninitialized: false})); // '비밀코드' -..
이전 게시글에서 bcrypt 를 이용해 암호화 하는 방법을 알아봤으니 기존에 있던 회원가입 로직을 받아낸 비밀번호를 암호화 한 이후에 동작하게 조합하였다. router.post('/register', (req, res) => { let id = req.body.id; let pw = req.body.pw; const saltRounds = 10; bcrypt.hash(pw, saltRounds, (err, hash)=>{ try { db.collection('login').findOne({ id: id }, (error, result) => { if (result) { res.send({ code: 0 }); } else { db.collection('login').insertOne({ id: id, p..
최근 현업쪽에서 bcrypt 를 많이 쓴다고 한다. 좀 살펴봤더니 귀찮게 salt 생성하고 같이 저장하는 방식이 아니라 한번 써볼거임 일단 bcrypt 라이브러리를 사용할 수 있게 터미널을 통해 설치한다. npm install bcrypt salt 대신 같은 salt 를 몇번이나 여러번 돌릴지 횟수를 지정해줌 const saltRounds = 10; bcrypt.hash(beforePassword, saltRounds, (err, hash)=>{ // hash: afterPassword try { // db 에 회원정보 저장하는 코드 } catch { console.log('err: ' + err); } }) 그럼 hash 파라미터 부분에 암호화된 비밀번호가 저장되고 해당값을 db 에 저장하여 사용하면 ..