동의 항목 노출 관련

  • 앱 아이디(app ID):749668
  • 호스팅 사: aws
  • 서비스 URL : https://vetween.kr
  • 오류 내용 : 동의 항목이 카카오 디벨로퍼스 설정과 다릅니다.

이전 문의와 비슷한 질문입니다.

카카오 로그인을 진행 할 때 동의 항목이 카카오 디벨로퍼스 설정과 다릅니다.
동의 항목
화면 캡처 2022-06-29 152859

실제 웹뷰
KakaoTalk_20220629_150210542

이전 문의에서 scope 파라미터 관련한 답변을 들었었는데
scope를 사용하지 않으면 아예 동의 항목이 나타나지 않고
scope를 account_email만 사용하든 추가를 하든
이메일 만이 동의 항목으로 나타납니다.

동의를 받지 못해서 사용자 정보를 받아오지 못하고 있는 것 같아 빠른 해결이 필요합니다.
해결 방법이나 어떤 문제인지 알 수 있을까요?

안녕하세요.

scope=account_email 파라메터를 설정하셔서 이메일만 표시되고 있습니다.
(scope에 값만 제거하지 마시고 scope 파라메터 자체를 제거해주세요.)

해당 파라메터 제거하면 아래와 같이 설정한 그대로 잘표시되는게 확인됩니다.

확인 부탁드려요.
image

const kakaoLoginUrl = `https://kauth.kakao.com/oauth/authorize?client_id=${this.socialKakaoClientId}&redirect_uri=${this.socialKakaoRedirect}&response_type=code`;

이렇게 말씀하시는 게 맞나요?

네, scope파라메터가 없으면 됩니다.

scope를 삭제 해도 같은 오류가 발생합니다.
디벨로퍼스 미리보기에는 보내주신 사진과 똑같은 뷰를 볼 수 있는데
혹시 아래 코드에 각 프로퍼티들에는 문제가 없나요?

async getUser (token) {
    const userRaw = await axios({
      method: 'GET',
      url: 'https://kapi.kakao.com/v2/user/me',
      headers: {
        Authorization: `Bearer ${token.access_token}`,
      },
    }).then(res => res.data)
    .catch(e => console.error(e));
    let user = null;
    if (userRaw) {
      user = {
        type: 'kakao',
        id: userRaw.id,
        //pw
        nickname: userRaw.properties.nickname,
        //image: userRaw.properties.profile_image,
        email: userRaw.kakao_account.email,
        phone: userRaw.kakao_account.phone_number,
        realName: userRaw.kakao_account.name,
        gender: userRaw.kakao_account.gender,
        birthyear: userRaw.kakao_account.birthyear,
        birthday: userRaw.kakao_account.birthday
      };
    }
    return user;
  }

기재해주신 사이트에 접속해보니 파라메터 위치만 바뀌었을뿐 여전히 scope 파라메터가 있습니다.

&scope=account_email

확인 부탁드립니다.


추가로 기재해주신 코드는 /v2/user/me 사용자정보조회API로 인가코드요청과 무관한 부분인데요.

각 프로퍼티들에는 문제가 없나요?

질문을 잘 이해 못했습니다. 어떤 문제 상황을 말씀하시는건지 설명 부탁드려요.

이 질문은 프로퍼티 이름들이 틀리지는 않았나하는 질문 이었습니다.

지금은 미가입자 화면이 이렇게 나온다고 합니다
KakaoTalk_20220630_155551280_01
KakaoTalk_20220630_155551280

scope 파라미터를 삭제했는데 어디에 남아있는지 모르겠네요 ㅠㅠ
/oauth/authorize API에 scope 파라미터가 붙고

    const kakaoLoginUrl = `https://kauth.kakao.com/oauth/authorize?
client_id=${this.socialKakaoClientId}&redirect_uri=${this.socialKakaoRedirect}&response_type=code`;

이렇게 scope파라미터를 삭제하는 게 아닌가요?

userRaw라는 변수에 결과 저장되나보군요.

아래 가이드에 결과 변수 영문명이 기재되어있습니다. 참고 부탁드리며

https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#req-user-info-response

닉네임과 프로필이미지는 보통 properties가 아니라 kakao_account에서 사용합니다.
(properties는 상황에 따라 변경될 수 있으므로…)

kakao_account.profile.nickname 
kakao_account.profile.profile_image_url

실제 값을 세팅하는 방식과 구조에 따라 값을 잘가져오는지는 직접 체크 하셔야합니다.


모바일 크롬 브라우저에서 https://vetween.kr 사이트에 접속하시고 카카오 로그인 시

동의창 주소를 확인해보시면 scope=account_email 값이 여전히 있는것 확인 가능합니다.

코드내 관련 로직 있는지 확인해보셔야할 것같습니다.

참고 부탁드려요.