카카오 서비스 연동 및 연결끊기

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


안녕하세요. 카카오 소셜 로그인을 회사 서비스와 연동을 시켰습니다.

  1. https://developers.kakao.com/docs/latest/ko/kakaologin/common#user-mapping
    서비스 회원 연동에서 현재 서비스에 등록된 계정과 카카오에 등록된 계정과 일치하면 기존 서비스 회원을 가져와서 서비스 내에서 토큰을 생성하여 전달하는데 꼭 첨부한 링크에 포함된 3가지 유형별 연동 과정을 거쳐야 할까요??

안녕하세요.

카카오 로그인 시점에
카카오 로그인으로 가입한 것이 아닌 일반회원 가입으로 등록한 기가입 고객과 매핑하는 부분으로 한정지어 질문하신 것 맞나요?

기존회원과 매핑은 서비스 특성에 따라 제공 여부 판단하시면 좋을 것같습니다.
다만, 매핑 시 반드시 본인 확인 절차를 두어 타인에게 개인정보가 유출되는 사고가 발생하지 않도록 조치 해주셔야합니다.

Kakao Developers


기존회원과 매핑이 아니라 단순히 카카오 로그인으로 가입한 회원의 로그인을 의미하신 거라면

반드시,
고객정보가 아닌 회원번호(App User ID)로 회원 조회하셔서 로그인 처리 해주셔야합니다.

service_user = User.objects.get(email=user_response[‘kakao_account’][‘email’])

  1. 위와 같은 방법으로 기존의 등록된 이메일과 카카오에서 받은 이메일 정보가 같으면 기존 유저를 가져와 서비스의 토큰을 받아 로그인 처리를 진행합니다. 서비스에서는 회원가입 시 이메일 인증을 받기 때문에 이렇게 해도 된다고 판단하였습니다.

이렇게 처리하면 따로 매핑에 대한 동의를 받을 필요는 없나요?

  1. 회원번호(app user id)는

{
“id”:123456789,
“connected_at”: “2022-04-11T01:45:28Z”,
“kakao_account”: {
// 프로필 또는 닉네임 동의 항목 필요
"profile_nickname_needs_agreement ": false,
// 프로필 또는 프로필 사진 동의 항목 필요
"profile_image_needs_agreement ": false,
“profile”: {
// 프로필 또는 닉네임 동의 항목 필요
“nickname”: “홍길동”,
// 프로필 또는 프로필 사진 동의 항목 필요
“thumbnail_image_url”: “http://yyy.kakao.com/.../img_110x110.jpg”,
“profile_image_url”: “http://yyy.kakao.com/dn/.../img_640x640.jpg”,
“is_default_image”:false
},
// 이름 동의 항목 필요
“name_needs_agreement”:false,
“name”:“홍길동”,
// 카카오계정(이메일) 동의 항목 필요
“email_needs_agreement”:false,
“is_email_valid”: true,
“is_email_verified”: true,
“email”: “sample@sample.com”,
// 연령대 동의 항목 필요
“age_range_needs_agreement”:false,
“age_range”:“20~29”,
// 출생 연도 동의 항목 필요
“birthyear_needs_agreement”: false,
“birthyear”: “2002”,
// 생일 동의 항목 필요
“birthday_needs_agreement”:false,
“birthday”:“1130”,
“birthday_type”:“SOLAR”,
// 성별 동의 항목 필요
“gender_needs_agreement”:false,
“gender”:“female”,
// 카카오계정(전화번호) 동의 항목 필요
“phone_number_needs_agreement”: false,
“phone_number”: “+82 010-1234-5678”,
// CI(연계정보) 동의 항목 필요
“ci_needs_agreement”: false,
“ci”: “${CI}”,
“ci_authenticated_at”: “2019-03-11T11:25:22Z”,
},
“properties”:{
“${CUSTOM_PROPERTY_KEY}”: “${CUSTOM_PROPERTY_VALUE}”,

},
“for_partner”: {
“uuid”: “${UUID}”
}
}

카카오에서 주는 이 응답의 id 값이 맞는거죠??

  1. 위와 같은 방법으로 기존의 등록된 이메일과 카카오에서 받은 이메일 정보가 같으면 기존 유저를 가져와 서비스의 토큰을 받아 로그인 처리를 진행합니다. 서비스에서는 회원가입 시 이메일 인증을 받기 때문에 이렇게 해도 된다고 판단하였습니다.
    이렇게 처리하면 따로 매핑에 대한 동의를 받을 필요는 없나요?

매우 희소한 사례지만, 고객이 자신의 이메일을 오타로 입력한 이메일과 카카오 로그인으로 전달받은 이메일이 일치하여 오매핑되어 수사기관에 개인정보 유출로 접수된 사례가 있습니다.

이메일로 매핑 하고자하시면 해당 메일로 확인 링크 메일 발송하여 본인이 맞는지 확인하는 절차를 두면 좋을 것같습니다.

카카오 로그인 시, 이메일을 전달받으려면 디벨로퍼스에 설정하셔서 동의받도록 하셔야하고
기존 회원정보와 매핑되는 부분은 서비스 이용약관에 명시 하시면 좋을 것 같습니다.

  1. 회원번호(app user id)는 카카오에서 주는 이 응답의 id 값이 맞는거죠??

네, 맞습니다.

감사합니다!

1개의 좋아요