카카오 로그인으로 기존 회원 매핑 시 주의 사항
자체 회원가입 기능을 통해 가입한 회원이 카카오 로그인 회원과 동일하여 매핑(Mapping)하는 경우 다음 사항을 유의해야 합니다.
카카오 로그인으로 신규 가입한 이후에는 회원 번호(App User ID)로 저장된 고객을 식별해야 합니다.
App User ID외 다른 정보는 변경될 수 있습니다. 카카오 로그인 이후, 이메일로 회원 식별하여 카카오의 대표 이메일 변경한 회원들이 서비스에 로그인 못하는 사례가 있었습니다.
사용자 정보 가져오기 (/v2/user/me)에서 전달하는 회원 번호(App User ID)는 long 타입으로 숫자 값이기 때문에 고정된 길이가 아니며
1 ~ 9223372036854775807 까지 유효합니다. long 타입범위 내 값이 정상 처리되도록 구현해야 합니다.
카카오로부터 받은 App User ID를 서비스측에서 int로 잘못 변환하여 -1, 0 또는 int max값으로 저장되어 서비스측의 다른 회원 정보가 조회된 사례가 있습니다. 또한 DB 컬럼 자료형을 int로 설정하여 잘못된 값이 저장된 사례도 있습니다.
App User ID는 9223372036854775807 까지 유효한 long 타입이므로 처리에 유의하시기 바랍니다.
CI(연계 정보) 또는 이메일로 기존 회원과 동일인 여부를 판단할 수 있습니다. 이메일의 경우, 반드시 메일 소유자 본인 인증을 완료한 경우에만 매핑해야 하고, 전화번호는 소유자가 변경될 수 있으므로 단순 문자열 비교로 매핑해서는 안 됩니다.
서비스측의 일반회원가입 시, 입력받은 이메일이 본인 확인 안된 오타있는 이메일이였고,
공교롭게 다른 회원이 카카오 로그인하며 잘못 매핑된 사례가 있습니다.
제공하시는 서비스 일반회원가입의 이메일은 확인 메일 발송을 통해 반드시 소유자 본인이 맞는지 확인해야합니다.
또한 전화번호의 경우 소유자가 변경될 수 있으므로 단순 문자열 매핑 해서는 안되고
이용자분들이 편의상 가족의 전화번호로 서비스측에서 인증하는 경우도 있으므로 전화번호는 동일회원 매핑 용도로 사용하지 않는 것이 좋습니다. 서비스내 전화번호를 이용한 매핑이 반드시 필요한 경우 CI비교로 동일인임을 확인 해야합니다.
기존 회원과 매핑 시, 기존 계정에 로그인하는 절차를 두어 계정 소유자임을 확실하게 판단 후 매핑하는 것을 권장 드립니다.
카카오 로그인으로 전달받은 정보를 이용해 기존 계정 매핑하는 것보다는 계정 소유자가 직접 로그인 하는 절차를 두어 사용자의 의사에 따라 매핑처리하는 것을 권장드립니다.
추가로, 매핑을 끊는 방법을 제공하여 사용자의 의사에 따라 본인의 계정 변경사항에 대응할 수 있도록 기능 제공하는 것을 권장드립니다.
보안 권장사항 : Kakao Developers