드림투두 로그인 기능 개편

1 분 소요

드림투두 로그인 기능 개편

드림투두 백엔드의 로그인 기능을 개편한다.

시나리오별 프론트엔드 / 백엔드 행동을 생각해보았다.

시나리오1. 최초에 Token 을 발급받는 경우

- Frontend Backend 비고
- 로그인을 한다.
- Access/Refresh Token 을 발급한다.
- Refresh Token 과 UserAgent 를 DB 에 저장한다.
- 요청을 처리하고 응답한다.
- Acceess/Refresh Token 을 저장한다.
- Access Token 으로 요청한다.
- Access Token 을 확인한다.
- 요청을 처리하고 응답한다.

Refresh Token 과 UserAgent 를 DB 에 저장하는 이유는 나중에 Refresh Token 으로 요청이 왔는데, UsetAgent 가 다를 경우 유출이라고 판단하여 삭제처리 하기 위함이다.

시나리오2. Access Token 만료 후 접속하는 경우

- Frontend Backend 비고
- 만료된 Access Token 으로 요청한다.
- Access Token 이 만료된 토큰이라고 응답한다.
- Refresh Token 으로 요청한다.
- Refresh Token 과 UserAgent 를 확인한다.
- Access/Refresh Token 을 갱신발급한다.
- 요청을 처리하고 응답한다.
- Acceess/Refresh Token 을 저장한다.
- Access Token 으로 요청한다.
- Access Token 을 확인한다
- 요청을 처리하고 응답한다.

Access/Refresh Token 을 갱신발급하는 이유는 만료일자를 연장시키기 위함이다.

시나리오3. Refresh Token 만료 후 접속하는 경우

- Frontend Backend 비고
- 만료된 Access Token 으로 요청한다.
- Access Token 이 만료된 토큰임이라고 응답한다.
- Refresh Token 으로 요청한다.
- Refresh Token 이 만료된 토큰이라고 응답한다.
- 로그인을 한다.

참고

네이버 사이트 간단 체크

아직 엉성하지만 네이버 사이트 간단 체크 결과가 개선되었다.

Docusaurus Layout 컴포넌트를 이용해서 통과된 것이다.

https://docusaurus.io/ko/docs/seo 에서 SEO 에 대한 설명을 볼 수 있다.