지난번 작업 이후 진행된 작업 1. register시 중복확인 기능 2. DB와 연결 3. MySQL2 라이브러리 사용 4. DB의 쿼리문을 Promise 방식으로 값 반환 5. env 환경변수 간단하게 적용 6. JWT 토큰 발급, 인증, 재발급 기능 구현 7. 로그아웃 기능 추가 위와 같은 작업을 했다. 와성된 코드를 보며 작업 당시 경험했던 어려움을 적어보겠다. 코드 modules/user.js import db from './db.js'; import bcrypt from 'bcrypt'; import jwt from 'jsonwebtoken'; // 비밀번호 생성 export const setPassword = async (password) => { const hash = await bcrypt..
Joi
로그인을 구현하려는 목적? 우리가 네이버나 구글의 메일 서비스나 다른 서비스를 이용할 때, 거의 필수적으로 거치는 과정이 있다. 바로 로그인이다. 그만큼 대부분의 웹에 들어가는 기능인 로그인을 구현해보는 시간을 갖도록 하자. 이 계획은 여러 단계로 나누어 글을 작성할 것이다. 오늘은 기본적인 api 구성까지 해보도록 하자. 사용하는 주요 기술 Express : express를 이용해서 서버를 구현할 예정이다. (koa로 하려 했지만 아직은 express가 부족하다 생각하기에 이번에는 express를 이용해 공부를 더 할 예정이다.) Joi : 스키마 언어를 검토해주고, node용 validator보다 관계에 따른 정의가 가능하다. (ex. 옵션 설정에서 a는 필수 요소로 지정하고 b는 필수가 아니라 지정..