카카오싱크 개발 문의드립니다

안녕하세요. 롯데 e커머스 입니다.

카카오 싱크 도입 중 문의드릴 내용이 있어 글을 남깁니다.

현재 운영 서비스에 카카오 로그인 연동은 되어있습니다.
카카오 싱크로 전환하기 위해 카카오 디벨로퍼스에서 카카오 간편가입 옵션을 ON 으로 바꾸면 전환이 된다고 가이드에서 확인 했는데 이때
카카오 간편가입 옵션 ON/OFF 여부를 구분할 수 있는 값을 받을 수 있을지 궁금합니다.
(도입하려고 하는 사이트에서 카카오 로그인을 사용하고 있는지 카카오 싱크를 사용하고 있는지
확인가능한 방법을 알고싶습니다. )
카카오 로그인 연동일 경우와 카카오 싱크일 경우 분기처리해서 작업을 하려고 하기 때문입니다.

답변부탁드립니다. 감사합니다.

@assbell 안녕하세요.
아래 기준으로 구분하실 수가 있습니다.

서비스약관 동의 여부로 카카오싱크 간편가입에 동의한 사용자인지를 구분하실 수 있습니다
https://developers.kakao.com/docs/sync/terms#rest-api-사용하기1

  • 카카오싱크 간편가입에 동의한 경우면, 동의한 약관 정보를 응답 받으실 수 있습니다
    ** 반대로 (카카오싱크 도입 전) 카카오로그인에 동의했던 사용자는, 서비스 약관이 없을 때 동의한 상태입니다. 서비스약관은 ‘처음 앱 연결 동의’ 시에만 노출되기에 앞으로도 동의한 약관에 대한 값이 비어있을 것입니다

@jeremy.kim
안녕하세요. 롯데E커머스 입니다.

LECS에서 운영하는 스토어가 여러개이기 때문에 유니클로 외 다른 스토어에서 카카오 소셜로그인을 사용할수 있습니다. (소스는 공통임)

따라서 카카오에서 받은 값으로 분기하여 카카오싱크에서 온 유입인지 소셜에서 온 유입인지에 따라 분기처리를 하려고 합니다.

유니클로에서는 약관동의여부에 상관없이 모두 싱크를 태워야합니다.
다른 스토어에서 로직 분기를 할 수 있도록 판별하는 구분자가 있을까요?

@sndata 안녕하세요.

답변을 드리기에 앞서 먼저 질문을 드려야할 것 같습니다.
제가 이해한 것이 불확실하네요.

같은 서비스약관을 공유하는 스토어끼리만 동일 앱(카카오 디벨로퍼스에서 생성한)을 이용할 수 있습니다.
가령 GU와 유니클로는 같은 앱을 쓰실 수 있지만, 유니클로와 롯데닷컴은 같은 앱이 아닌 다른 앱을 쓰셔야만 합니다.

또 같은 앱일 경우 '카카오 간편가입 옵션 ON’을 하면 해당 앱을 쓰는 모든 스토어에 적용되기에, 해당 앱과 미연결 상태인 사용자에게는 등록한 서비스 약관이 노출되는 것이 기본 값입니다.
(* 간편가입 옵션을 ON했지만, 스토어A에서는 서비스 약관을 포함하고, 스토어B에서는 서비스 약관을 미노출하는 , 특별한 목적이 있으신 게 아니면 권장하지 않고 있습니다)

궁금한 점은

  1. 같은 앱인 데도 한 스토어에서는 서비스 약관을 포함하고, 다른 스토어에서는 서비스 약관을 포함하지 않으려는 의도이실까요?
  2. 혹시 서비스 약관이 다른 스토어끼리 하나의 앱을 공유하는 것을 생각하셨을까요?
    ㄴ 만약 그렇다면 그렇게 이용하실 수는 없습니다.
    ㄴ 더불어 서비스 약관이 다른 스토어가, 서로 다른 앱을 쓴다면, 그 자체로 의도하신 '분기처리’를 하는 셈입니다(카카오 로그인 인증의 기준이 되는 앱 자체가 다름)

@jeremy.kim

문의주신 내용 답변 및 추가 문의 드립니다.

1,2 번 모두 원하는 의도가 아닙니다.

예를들어 유니클로와GU 를 운영하는 상태에서 무인양품 스토어(별도 앱)에서도 카카오 로그인을 사용하려고 할 경우

  • 유니클로/GU : 카카오싱크
  • 무인양품 : 카카오 소셜로그인 (싱크X)

LECS에서는 유니클로&GU/무인양품이 같은 소스를 사용하기 때문에
카카오로부터 값을 받았을 때, 사용하는 서비스에 따라 분기를 처리해야하는 상황이라 이를 구분할 수 있는 값이 있는지를 문의드리는 내용입니다.

싱크 고객일 경우 싱크 로직을 소셜로그인 고객일 경우 소셜로그인 로직을 태워 로그인을 시켜야하기 때문입니다.
감사합니다.

@sndata
답변 감사합니다

그 경우면 무인양품과 유니클로&GU는 별개의 디벨로퍼스 앱을 쓰셔야 합니다(각종 설정부터 앱키까지 별개).

따라서 서로 다른 앱을 쓰기는 것 자체로 양 쪽의 사용자가 구분될 것입니다(완전히 독립적인 그룹이 됩니다).

@jeremy.kim
안녕하세요.

저희가 원하는 의도가 잘 전달되지 않은 것 같습니다.
당연히 별개의 디벨로퍼스 앱은 사용할 예정입니다.

카카오에서 정보를 받는 부분에서 소셜로그인과 싱크를 구분할 수 있는 값은 없다고 이해했는데 맞을까요?

안녕하세요.
질문하신 내용을 제가 제대로 이해했는지 확인 부탁드릴게요.

[질문 내용]

  1. 아래 2개 서비스를 다른 앱(디벨로퍼스 앱)으로 생성 후 연동
    -유니클로/GU : 카카오싱크
    -무인양품 : 카카오 소셜로그인 (싱크X)
  2. 앱은 다르지만 하나의 서버에서 사용자 정보를 받게 됨
    이때 특정 사용자가 어떤 앱에서 연결된 사용자인지 알 수 있는 방법에 대한 문의

카카오싱크와 카카오 소셜로그인의 구분이라고 명확히 써주셨는데도 위와 같이 확인하는 이유는
앱을 구분하는 것이 더 의미 있는 정보일 수도 있을 것 같아서 확인차 여쭤보게 됬어요.

확인 부탁드릴게요.~

@jeremy.kim

안녕하세요. 롯데E커머스 입니다.

내부에서 로직을 스토어마다 분기한 것이 아닌 카카오와 싱크를 구분해서 만들려고 했기 때문에 문의드린 부분입니다.
추가적으로 운영하게될 제 3의 스토어는 싱크를 사용하고, 제 4의 스토어는 싱크를 사용하지 않을 경우
스토어별로 분기처리하게되면 소스 수정이 필요하지만 싱크/소셜로그인으로 분기한다면 저희는 별도 수정이 필요없기 때문입니다.

감사합니다.

네 이해했어요.
아쉽게도 현재 제공하고 있는 사용자정보 중에 싱크와 소셜로그인을 직접적으로 구분해주는 값은 없습니다.

현재로서는 아래 2가지 방법으로 확인할 수 있을 것 같아요.

방법1) 토큰 정보 조회 API로 사용자가 연결한 앱을 식별하는 방법

방법2) 싱크를 통해서 발급된 회원의 토큰으로 아래 API를 호출하면 '서비스약관의 필수항목’에 대해서 동의한 내역이 존재 함

감사합니다.