OAuth를 통해 로그인 후
→ 백엔드에서 토근 받음
- 토큰 안에 user정보 + JWT 토큰 정보를 넣어서 두번 말아서 보관한다.
- JWT토큰 정보만 받는다.
로그인 시 토큰과 유저 정보 저장
- 유저 정보를 전역 상태에 저장하고 관리한다. (예민하지 않은 정보 선에서… 유저 ID 정도)
- 유저 정보를 쿠키 등에 저장한다.
- 유저 정보를 필요할 때마다 validation API로 요청하고 결과로 유효한 유저 정보를 사용한다(매 동작마다 호출할텐데 로드가 너무 많지 않을지)
- 유저 정보와 토큰이 담긴 쿠키를 httpsOnly와 secure 옵션을 설정해두고, NextJS 백엔드에서만 읽고 쓰게 한다. 필요한 정보가 클라이언트에서 요청될 때에만 nextjs backend에서 처리해준다

현재 로그인 여부 확인
- 매번 위 과정을 통해 validation된 현재 유저가 있으면 로그인 상태로 간주한다.- api call
- serverside에서 validation을 요청하여 유효하면 로그인으로 간주
- 유효하지 않으면 로그아웃 상태로 간주 또는 로그인 페이지로 라우팅
- context API를 사용한 wrapper로 감싸서 유저 정보 및 로그인 여부를 state로 사용한다.