일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
- 프론트
- 정리
- Git
- plugin
- 회고록
- 배포
- 신상마켓
- 뷰
- nginx
- react
- extension
- login
- express
- Docker
- 플러그인
- vsCode
- PWA
- AWS
- Firebase
- 셋팅
- 토이프로젝트
- 기획
- vue login
- vuex
- javascript
- database
- jwt
- 로그인
- react-query
- vue
- Today
- Total
강디너의 개발 일지
프로젝트_v6 Express CRUD 만들기 + 암호화 본문
CRUD 중 R은 전 시간에 했고, C 와 D 를 해보겠습니다.
Create
Read
Update
Delete
*준비물*
Insonomia
1. 모델을 정의해줍니다.
User로 정의했습니다.
}
2. 비밀번호 암호화
Node 에는 crypto 라는 내장 모듈이 있습니다.
우선 config 에 KEY를 하나 추가해줍니다.
그 후 crypto와 secret 을 선언해줍니다.
테스트 해보겠습니다.
암호화가 잘 되는것을 볼수 있습니다.
3. 사용자 등록
사용자 등록 쿼리
이름, 비밀번호, 역할 등록해줄겁니다.
4. 사용자 삭제app.post('/users/register', (req, res) => { const hash = crypto.createHmac('sha256', secret) .update(req.body.pwd) .digest('base64') User.user_id = req.body.id; User.user_pwd = hash; User.user_role = req.body.role; console.log(User); // 유저 등록 if (User.user_id && User.user_pwd && User.user_role) { connection.query(`SELECT user_id FROM user WHERE user_id = "${User.user_id}"`, function (error, check_result, fields) { if (check_result.length == 0) { connection.query(`INSERT INTO user (user_id, user_pwd, user_role) VALUES ("${User.user_id }", "${User.user_pwd}", "${User.user_role}")`, function (error, results, fields) { if (error) { console.log(error); } res.status(200).json({ 'status': 200, 'msg': 'success' }); }); } else { res.status(400).json({ 'status': 400, 'msg': '중복 ID' }); } }); } else { res.status(400).json({ 'status': 400, 'msg': '값을 다 채워주세요' }); } });
app.delete('/users/:id', (req, res) => { // 유저 삭제 const id = req.params.id; connection.query(`DELETE FROM user WHERE user_id = "${id}"`, function (error, results, fields) { if (error) { console.log(error); } if (results.length == 0) { console.log('찾는값 없음'); return res.status(400).json({ error: 'Incorrect id' }); } res.status(201).send('success'); }); });
해시한 암호를 넣기 위해서
그간 만든 id들을 삭제합시다.
그리고 다시 아이디를 만듭시다.
확인 한번 해보겠습니다.
'Javascript > 토이프로젝트' 카테고리의 다른 글
프로젝트_v8 Vue Login 기능 만들기 (4) | 2019.02.05 |
---|---|
프로젝트_v7 Express JWT으로 로그인 인증 + 모듈화 (0) | 2019.02.02 |
프로젝트_5 Express API 개발 (0) | 2019.01.29 |
프로젝트_4 Docker에 MySQL 셋팅 및 DB 만들기 (0) | 2019.01.25 |
프로젝트_3 Express 서버 셋팅! (0) | 2019.01.24 |