개발 환경
-백엔드: Node.js + Express, REST API 직접 호출
GET https://kapi.kakao.com/v2/user/me (Authorization: Bearer {access_token})
-프론트: JavaScript SDK (Kakao.Auth.login), scope = account_email, phone_number, name
-디벨로퍼스 앱 ID: ID 694342
문제
/v2/user/me 응답에서, 일부 사용자는 kakao_account 안에 name 키 자체가 응답에 포함되지 않습니다. name_needs_agreement 값은 false(이미 동의) 로 옵니다.
문제 사용자 응답 예시입니다
{
“id”: 47xxxxxxxx,
“connected_at”: “2026-01-30T00:19:37Z”,
“kakao_account”: {
“name_needs_agreement”: false,
“has_email”: true, “is_email_verified”: true, “email”: “…”,
“has_phone_number”: true, “phone_number”: “+61 …”
}
}
name_needs_agreement:false 인데 name 키도, has_name 키도 없습니다.
같은 앱·같은 scope의 다른 사용자들은 동일하게 name_needs_agreement:false 이면서 name 값이 정상 포함되어 옵니다. 국내(+82) 사용자뿐 아니라 해외(+1, 미국) 전화번호 사용자도 name이 정상 수신됩니다. 해외 사용자라서 누락되는 것은 아닌 것 같습니다.
질문
1.name_needs_agreement:false(동의 완료)인데도 응답에 name 키가 빠지는 것은, 해당 카카오계정에 본인인증된 이름(실명) 데이터 자체가 없기 때문인가요?
2.이 경우 추가 동의(scope 재요청)로도 name을 받을 방법이 없는 건가요?
3.1의 추측이 맞다면, 응답에서 이를 구분할 수 있는 다른 필드나 권장 처리 방식이 있을까요?
