소셜 로그인- 1일회용 CSRF state를 만들어 DB와 HttpOnly 쿠키에 함께 묶어 둡니다
- 2서버가 인가 코드를 access token으로 교환합니다
- 3공급자에게서 사용자 정보를 가져옵니다
- 4공통 형식인 SocialProfile로 바꿔 돌려줍니다
이 모듈을 쓰는 서비스가 아래 환경변수를 설정하면 authorize·callback 경로가 이 흐름대로 동작합니다.
공통 SocialProfile
{
provider: "GOOGLE",
id: string,
email: string | null,
name: string | null,
picture: string | null,
emailVerified: boolean
}