어제 한 일
- Styled-component 기능 추가 구현
TypeORM 연동 MySQL, MongoDB
- 조회 API 부터 생성
- 로그인 준비
- 로그인 페이지 layout 구성
- Github OAuth 애플리케이션 등록
- 문제 풀이 페이지 코드 초기화 버튼
iframe sandbox 적용
- Github OAuth 로그인을 위한 애플리케이션 등록
오늘 할 일
- 로그인 기능 구현
- 인증, 인가 후 정보를 백엔드로 반환 Authentication, Authorization
- API 구현
논의 주제
- 로그인 기능 구현
-
JWT token vs SessionID
- JWT
- 디비가 따로 필요 없음
- 회원 정보가 바뀌면 JWT 내의 정보가 즉시 갱신 되지 않음(다시 토큰 발급받아야함)
- 로그아웃을 해도 토큰은 유효한 상태이기 때문에 탈취 당한 경우 유효기간이 끝날 때까지 사용될 위험성이 있음(그래서 유효기간을 짧게하고 리프레시 토큰을 함께 발급함)
- SessionID
- 보안에 뛰어나다. (로그아웃시 세션을 파기하므로 유효하지 않게 만들수 있다. JWT는 로그아웃을 해도 토큰 유효기간이 남아있으면 요청을 성공적으로 보낼수 있다.)
- Session 데이터를 필요에 따라 수정 가능
JWT 란? (JWT vs Session)
-
passport 여부
-
로그인 상태 유지 방식
localStorage vs cookie(둘다 브라우저에 저장) - 쿠키만 용량이 있다.(유효기간도)
- 백준과 프로그래머스는
SessionID 사용