1. session-마이그레이션
스프린트 흐름 파악하기!
인증, 보안파트에서 서버와 클라이언트 역할 구분하기
- .env 파일에 데이터베이스 설정하기
- 데이터베이스 마이그레이션
- mysql 접속 후 데이터베이스 생성하기
- create database authentication
- 데이터베이스 생성 후 모델과 시드를 통해 마이그레이션 진행하기
- npx sequelize-cli db:migrate
- https 인증서를 디렉토리에 복사
- index.js를 통해 session 쿠키 설정 하기
- Domain
- 도메인은 포트 및 서브 도메인 정보, 세부 경로를 포함하지 않는다!!
- Path
- 세부 경로는 서버가 라우팅할 때 사용하는 경로
- 명시하지 않으면 기본으로 / 으로 설정
- MaxAge or Expires
- Secure
- 만약 해당 옵션이 true로 설정된 경우, 'HTTPS' 프로토콜을 이용하여 통신하는 경우에만 쿠키를 전송!!!
- HttpOnly
- SameSite
- cors 설정
2. session-서버 설정
- req.session 이용하여 저장하기
- req.session.userId = userInfo.userId
3. session-클라이언트 설정
- https 인증서를 디렉토리에 복사
- 클라이언트 실행이 안될 경우 package.json파일에 인증서 파일 이름 넣어주기!!!
- Axios를 이용한 서버와 통신하기
- Axios는 브라우저, Node.js를 위한 Promise API를 활용하는 HTTP 비동기 통신 라이브러리
- 쿠키를 요청에 포함하고 싶으면 2가지 작업이 필요
- 프론트 : withCredentials : true
- 서버 : Credentials : true