카카오 로그인 raw값 관련 문의

개발 환경

-백엔드: 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의 추측이 맞다면, 응답에서 이를 구분할 수 있는 다른 필드나 권장 처리 방식이 있을까요?

  1. 네, 맞습니다.
  2. 카카오계정으로 수집 후 제공 설정을 체크하시면 입력 받아 제공합니다.
  3. 2번의 방법을 사용하시면됩니다.

답변 감사합니다.

“카카오계정으로 수집 후 제공설정”을 체크하면 이메일은 아래와 같은 제공 동선을 거칩니다.

(출처: 카카오계정으로 수집 후 제공 동선 )

이름은 어떤 제공 동선을 거치는지 알 수 있을까요? 본인인증 과정이 있나요?

본인인증 과정은 없으며, 이용자가 직접 이름을 입력하게됩니다.

이후, (사용중) 카카오계정에 본인 인증 시 이름은 본인 인증 이름으로 대체 됩니다.
이미 본인인증한 계정은 이름이 있으며 수정할 수 없어서 해당 사항 없습니다.