userinfo
curl -X GET \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
https://www.googleapis.com/oauth2/v3/userinfo
curl -X GET \
https://www.googleapis.com/oauth2/v3/userinfo?access_token=<ACCESS_TOKEN>
"sub": "1234567890",
"name": "홍길동",
"given_name": "길동",
"family_name": "홍",
"picture": "https://lh3.googleusercontent.com/a/...",
"email": "user@example.com",
"email_verified": true,
"locale": "ko"
tokeninfo
curl -X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "access_token=<ACCESS_TOKEN>" \
https://www.googleapis.com/oauth2/v3/tokeninfo
curl -X GET \
https://www.googleapis.com/oauth2/v3/tokeninfo?access_token=<ACCESS_TOKEN>
- iss: 발급자. Google이면 accounts.google.com
- aud: 청중. 클라이언트 ID와 일치해야 합니다.
- sub: 사용자 ID
- exp: 만료 시간
- iat: 발급 시간
- email: 사용자 이메일 주소 (선택 사항)
- verified_email: 이메일 주소가 검증되었는지 여부 (선택 사항)
- error: 오류 발생 시 오류 코드 및 메시지
{
"azp": "YOUR_CLIENT_ID",
"aud": "YOUR_CLIENT_ID",
"sub": "1234567890",
"scope": "https://www.googleapis.com/auth/contacts.readonly https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile openid",
"exp": "1646944000",
"expires_in": "1234",
"email": "user@example.com",
"verified_email": true,
"access_type": "online"
}