카카오톡 공유 콜백 관련 문의

안녕하세요. 카카오톡 공유 콜백 관련하여, 콜백이 오고 있지 않아 확인요청드립니다.

appId : 227134

  1. 콜백 url 등록
  2. 플랫폼에 사이트 도메인 등록 ( https://local.~ 으로 시작하는 도메인 )
  3. (front)serverCallbackArgs 작성

문의 : /etc/hosts에 127.0.0.1 의 주소를 로컬용으로 따로 만들어 사용하고 있는데 혹시 이 부분때문에 발송이 되지 않을 수도 있을까요?
샘플 프로젝트를 이용해 http://localhost:3001 로 카카오톡 링크 공유 기능을 테스트할 때는 콜백 서버에서 로그를 정상적으로 찍히고 있어, 어떤 차이가 있을까요?

서비스 스펙

  • Frontend: react
  • Backend: Spring Framework

다음과 같이 진행을 하고, 점검을 완료했음에도 callback이 오지 않고 있습니다.
1. 콜백서버가 callback을 받을 api 작성 (로직: callback api request가 성공하면 콜백서버에 log 생성)

  • 혹시나 하여 샘플 프로젝트를 따로 생성하여, 카카오톡공유기능을 이용하니 콜백서버로 전송되는 것이 확인됨.
  • 해당 서버 api url을 카카오링크 callback url으로 등록 (오타 점검했고, 오타는 없음)

2. 프론트에서 요청 시 사용자 custom parameter 추가
프론트 javascript에서 아래와 같이 serverCallbackArgs를 추가하였습니다.

Kakao.Link.createDefaultButton({
container: “#kakaotalk-sharing-btn”,
objectType: “feed”,
content: {
title: “딸기 치즈 케익”,
description: “#케익 #딸기 #삼평동 #카페 #분위기 #소개팅”,
imageUrl: “http://k.kakaocdn.net/dn/Q2iNx/btqgeRgV54P/VLdBs9cvyn8BJXB3o7N8UK/kakaolink40_original.png”,
link: {
mobileWebUrl: “https://developers.kakao.com”,
webUrl: “https://developers.kakao.com”,
},
},
buttons: [
{
title: “웹으로 보기”,
link: {
mobileWebUrl: “https://developers.kakao.com”,
webUrl: “https://developers.kakao.com”,
},
},
{
title: “앱으로 보기”,
link: {
mobileWebUrl: “https://developers.kakao.com”,
webUrl: “https://developers.kakao.com”,
},
},
],
// 전송 알림 콜백을 받으려면 serverCallbackArgs 가 설정되어 있어야 한다.
serverCallbackArgs: {
// 사용자 정의 파라미터 설정
forwardCallUrl: “https://link.catchtable.co.kr/api/ping?param=test”,
myKey: “myValue”,
},
});

안녕하세요.

serverCallbackArgs 설정에의한 서비스측 콜백호출은 카카오 콜백 프록시 서버에서 접근가능한 주소여야합니다.

로컬호스트 주소는 접근 할 수 없습니다.

참고 부탁드려요.


샘플 프로젝트를 이용해 http://localhost:3001 로 카카오톡 링크 공유 기능을 테스트할 때는 콜백 서버에서 로그를 정상적으로 찍히고 있어, 어떤 차이가 있을까요?

이부분은 정확히 이해하지 못했습니다. localhost 주소를 카카오 측 서버가 호출했다는 말씀이신가요? 관련 로그 첨부해주시겠어요?

네.
serverCallbackArgs 설정에의한 서비스측 콜백호출은 카카오 콜백 프록시 서버에서 접근가능한 주소여야합니다.
해당 내용대로 셋팅되어 있는 상태이구요.

샘플프로젝트란 로컬에서 돌리는 간단한 프로젝트를 말씀드렸습니다.
현재, 콜백서버와 카카오공유기능이 있는 서비스를 별개로 운영 중이어서요…

혹시, 카카오 서버 측에서 serverCallbackArgs를 잘 받아, 저희 콜백서버로 전달해주고 있는지 확인이 가능할까요?

프록시 로그를 보니 403에러가 한건 보이네요. 라우팅되는 IP 가 외부에서 접근 불가능한 것으로 보입니다.

실패
message 2022/10/24 09:23:48 16 192.168.40.79 42790 TCP_DENIED/403 631 CONNECT kakao-share-callback.catchtable.co.kr:443 - HIER_NONE/- text/html

성공
message 2022/10/24 01:35:58 34 10.205.61.142 41773 TCP_TUNNEL/200 5954 CONNECT kakao-share-callback.catchtable.co.kr:443 - HIER_DIRECT/kakao-share-callback.catchtable.co.kr -

제가 오늘 새벽 1시 41분경 오후에 1시 38분경, 3시 28분경 3시 38분경 총 카카오공유하기를 3번 했는데
실패가 한 번만 보이나요?

네, kakao-share-callback.catchtable.co.kr 도메인으로 호출한 오늘 프록시 호출건은 2건 (성공1, 실패1) 입니다.
(21일에 5건 성공 이력도 조회되네요.)

어떤 상황인지 확인을 위해 공유하기 해볼 수 있는 URL알려주시겠어요?

던지고 있는 기준의 url을 여러개로 확인차 테스트 하고 있습니다.
그렇다면,
혹시 alpha-app.catchtable.co.kr 도메인(referer name)에서 콜백 요청한 내용이나 로그를 확인 할 수 있나요?

카카오 프록시 서버에서 alpha-app.catchtable.co.kr 도메인으로 호출한 이력이 없습니다.

해당 도메인으로 콜백을 받으려면 디벨로퍼스 설정에 그렇게 설정이 되어있어야하는데요. 다른 디벨로퍼스앱을 사용하시는건가요?