OAuth 로그인 직후
account와 user가 있을 때만 초기 값을 복사GitHub 로그인 결과의 access_token과 사용자 id를 token에 붙여 다음 요청에서도 잃지 않게 합니다.
account
user
초기 로그인 때만 들어오는 user와 account 값을 JWT에 보존하고, 이후 요청에서는 token을 기준으로 session.user와 accessToken을 다시 구성합니다.
GitHub 로그인 결과의 access_token과 사용자 id를 token에 붙여 다음 요청에서도 잃지 않게 합니다.
이후에는 user가 없어도 token.accessToken과 token.id가 남아 session 콜백에서 읽을 수 있습니다.
useSession이나 서버 세션 조회에서 필요한 필드만 session에 옮겨 UI와 권한 판단에 사용합니다.
token.accessToken = account.access_token
token.id = user.id
session.accessToken = token.accessToken
session.user.id = token.id
TypeScript에서는 기본 타입에 없는 필드를 쓰므로 실제 프로젝트에서 Session/JWT 타입 확장을 함께 검토합니다.