- 환경 변수 설정
- 데이터베이스 마이그레이션
// Running Migrations
npx sequelize-cli db:migrate
// Running Seeds
npx sequelize-cli db:seed:all
- 서버 구현
A. index.js
발급받은 https 인증서를 해당 스프린트 디렉토리에 복사합니다. 쿠키 설정은 HTTPS를 사용하는 것을 고려하여 설정하세요.
index.js에서 CORS 및 세션 옵션을 설정합니다.
B. controller/login.js (POST /users/login)
request로부터 받은 userId, password와 일치하는 유저가 DB에 존재하는지 확인합니다.
일치하는 유저가 없을 경우:
로그인 요청을 거절합니다.
일치하는 유저가 있을 경우:
세션에 userId를 저장합니다.
C. controller/logout.js (POST /users/logout)
세션 객체에 저장한 값이 존재하면
세션을 삭제합니다. (자동으로 클라이언트 쿠키는 갱신됩니다)
D. controller/userinfo.js (POST /users/userinfo)
세션 객체에 저장한 값이 존재하면
사용자 정보를 데이터베이스에서 조회한 후 응답으로 전달합니다.
세션 객체에 저장한 값이 존재하지 않으면
요청을 거절합니다.
발급받은 https 인증서를 해당 스프린트 디렉토리에 복사합니다. 쿠키 설정은 HTTPS를 사용하는 것을 고려하여 설정하세요.
index.js에서 CORS 및 세션 옵션을 설정합니다.
mkcert
로 생성한 인증서 파일 복사
쿠키 설정
CORS 설정
http://expressjs.com/en/resources/middleware/cors.html
request로부터 받은 userId, password와 일치하는 유저가 DB에 존재하는지 확인합니다.
일치하는 유저가 없을 경우: 로그인 요청을 거절합니다.
일치하는 유저가 있을 경우: 세션에 userId를 저장합니다.
세션 객체에 저장한 값이 존재하면
세션을 삭제합니다. (자동으로 클라이언트 쿠키는 갱신됩니다)
세션 객체에 저장한 값이 존재하면 사용자 정보를 데이터베이스에서 조회한 후 응답으로 전달합니다.
세션 객체에 저장한 값이 존재하지 않으면 요청을 거절합니다.
- 클라이언트 구현
components/Login.js
components/Mypage.js