Oauth2 로그인 구현에서 이메일 true 인데 왜 이메일이 안 불러와지나요

문의 시, 사용하시는 개발환경과 디벨로퍼스 앱ID를 알려주세요.


개발 환경은 spring boot , java, gradle 입니다.

ID 는 942691

이메일 보고 싶은데 왜 안 보이나요?

scope 설정을 안했네요 ,11

오류 나시는 분들 참고하시면 좋을 것 같아요!!

카카오 로그인 구현 시 이메일 정보를 가져오지 못하는 경우에는 다음과 같은 몇 가지 가능한 원인들이 있을 수 있습니다:

  1. 카카오 앱 설정: 카카오 개발자 사이트(https://developers.kakao.com)에서 등록한 애플리케이션의 설정을 확인해야 합니다. 앱 설정에서 "동의항목"을 확인하고 이메일 정보를 요청하도록 설정되어 있는지 확인해야 합니다. "동의항목"에서 "이메일"이 체크되어 있어야 사용자가 로그인할 때 이메일 정보를 제공하도록 동의를 받을 수 있습니다.
  2. 사용자 동의 요청: 카카오 로그인을 할 때 이메일 정보를 얻기 위해서는 사용자로부터 해당 정보에 대한 동의를 받아야 합니다. 이메일 정보를 요청하려면 인증 요청 시 scope 파라미터에 account_email 스코프를 포함시켜야 합니다. 예를 들어, 요청 URL이 다음과 같아야 합니다:

cssCopy code

https://kauth.kakao.com/oauth/authorize?client_id={YOUR_APP_KEY}&redirect_uri={REDIRECT_URI}&response_type=code&scope=account_email
  1. 사용자 동의 철회: 사용자가 이전에 카카오 로그인 시 이메일 제공에 동의했지만, 이후에 해당 동의를 철회한 경우에는 이메일 정보가 다시 제공되지 않을 수 있습니다. 사용자의 동의 상태를 확인하여 이메일 정보를 요청할 수 있도록 유도해야 합니다.
  2. 카카오 로그인 시 동의 화면을 건너뛴 경우: 사용자가 카카오 로그인 시 동의 화면을 건너뛰고 바로 로그인을 진행한 경우에는 이메일 정보가 포함되지 않을 수 있습니다. 이 경우에는 사용자에게 추가적인 동의를 요청하도록 안내해야 합니다.
  3. 카카오 계정에 이메일 정보가 등록되어 있지 않은 경우: 사용자의 카카오 계정에 이메일 정보가 등록되어 있지 않은 경우에는 이메일 정보를 가져올 수 없습니다. 이 경우에는 다른 방법으로 사용자를 인증하거나 이메일 정보를 수집하는 방안을 고려해야 합니다.

위의 내용들을 참고하여 카카오 로그인 시 이메일 정보를 불러오는데 필요한 설정과 동의 요청을 제대로 수행했는지 확인해 보세요. 이외에도 네트워크 연결 문제, 카카오 API 서버 장애 등의 이유로도 이메일 정보가 불러와지지 않을 수 있으니, 서버 로그를 확인하여 더 자세한 원인을 파악하는 것이 도움이 될 수 있습니다.

1개의 좋아요

안녕하세요.

scope 파라미터에 account_email 스코프를 포함시켜야 합니다.

(1) scope 파라메터는 사용하지 않는 것이 Default 입니다.
설정하지 않으면 디벨로퍼스에 설정된 모든 동의항목을 표시합니다.

(2) email_needs_agreement 가 true라는 것은 동의가 필요하다는 의미로 동의하지 않아 표시안되는 것입니다.

(3) 942691 디벨로퍼스앱은 현재 이메일이 [선택] 동의항목으로 설정되어 있습니다.
이메일 선택동의 항목에 동의 하지 않고 카카오 로그인 진행한 경우, 다음번 카카오 로그인 시 동의 창이 뜨지는 않습니다.

(4) scope 파라미터에 account_email 스코프를 포함하는 것은 [선택] 동의 항목으로 제공했지만

특정 Flow에서 반드시 필요한 경우 * 추가 항목 동의 받기 할때 사용하는 기능입니다.

참고 부탁드려요.

1개의 좋아요