카카오싱크 플러그인 관련 로그확인 가능하실까요?

  • 앱 아이디(app ID): 1000660
  • 오류 내용 :

안녕하세요.
현재 카카오싱크 플러그인 적용이 안되어서 그러는데 로그 확인 가능하실까요?
redirectUrl 수정 하고 해당 구간 방화벽 오픈까지 해주었습니다
하지만 카카오톡에서 카카오싱크 플러그인하프 뷰에서 정보동의 하고 계속하기를 눌러도 동작하지 않고 서버에 로그도 남지 않는 상황입니다.

방화벽은 아래와 같이 열어주었습니다. (아래 리스트 IP → redirect 받을 서버 IP)
203.133.166.32
27.0.237.15
203.133.166.33
211.249.200.134
219.249.227.143
210.103.240.15
110.76.141.64

안녕하세요.

앱 1000660에서 사용중인 플러그인이 확인되지 않습니다.
해당 앱에 플러그인 설정하신게 맞으실까요?

네 맞습니다!

플러그인 사용 시, 아래 URL로 리디렉션 하였지만 접근 불가한 URL로 보입니다.
확인 부탁드립니다.

https://ktalksc.nsmall.com:18080/cust/code.do?code=q9eMWsqs5zFD4oyonzHH0sYOsZeB3KKnrbm5EakCyh5UtslS5F5kgnBdZGYKPXRoAAABjhK6mrfC3p98Pd5TpQ&continue=https%3A%2F%2Ftalk-plugin.kakao.com%2Fsync%2Fcomplete%3Fstate%3D65e81f5a03c91f522e882719%26client_id%3Db9fa6ef098d09c0ab9dfba10f713f387&state=65e81f5a03c91f522e882719

혹시 어디에서 호출 하는 지 알 수 있을까요?
url '/cust/code.do’에 대해서 Request Mapping은 되어있고, 아래 이미지 참고하여 방화벽은 오픈되어 있습니다.

[오픈 IP 리스트]

203.133.166.32
27.0.237.15
203.133.166.33
211.249.200.134
219.249.227.143
210.103.240.15
110.76.141.64

안녕하세요
혹시 그러면 현재 서버 쪽에서 아래 코드로 API 요청을 보내고 있는데 아래 사진과 같은 에러가 발생 중인 원인을 알 수 있을까요?

RestTemplate restTemplate = new RestTemplate();
		restTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory());
		
		//헤더셋팅
		HttpHeaders headers = new HttpHeaders();
		headers.add("Content-type", "application/x-www-form-urlencoded;charset=UTF-8");
		
		//보낼 파라메터 셋팅
		MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
		params.add("grant_type", "authorization_code");
		params.add("code", StringUtil.nvl(param.get("code")));
		params.add("client_id", "client_id 값");
		params.add("redirect_uri", "https://ktalksc.nsmall.com:18080/sync/cust/code.do");
		
		System.out.println("params : " + params.toString());
		//파라메터와 헤더 합치기
		HttpEntity<MultiValueMap<String, String>> entity = new HttpEntity(params, headers);

		// REST API 호출
		Map<String, Object> kakaoUserMap = restTemplate.postForObject("https://kauth.kakao.com/oauth/token", entity, Map.class);
		System.out.println("kakaoUserMap : " + kakaoUserMap.toString());

안녕하세요.

답변이 늦어 죄송합니다.

redirect_uri 는 사용자의 디바이스에서 호출 됩니다.
따라서 카카오에서 사용하는 IP로 부터의 호출이 아닌 사용자가 디바이스가 할당하고 있는 불특정 IP로 부터 접근하게 됩니다.

아래 그림의 4번 단계를 참고 부탁드립니다.
(가이드)
image


첨부 이미지의 오류는 서비스 백엔드에서 kauth.kakao.com 으로 나가는 요청이 차단된 경우로
서비스측 방화벽에서 차단되고 있는 것으로 보입니다. 관련하여 확인 부탁드립니다.

안녕하세요
혹시 그러면 카카오 서버측에는 제가 보낸 요청이 인입도 안되고 있는걸까요?

네, 맞습니다. 서비스측에서 kauth.kakao.com 으로 요청이 차단되는 것으로 보입니다.

혹시 지금은 요청 인입 되나요?

들어오지 않습니다.

백엔드 서버에서 요청이 정상 전달되는지 확인 부탁드립니다.

ex)
traceroute to kauth.kakao.com

작업 했는데 ㅠㅠ
추가로 확인 해보고 바로 답변드리겠습니다.
감사합니다.

작업 후 정상 동작 확인하였습니다.
감사합니다!

안녕하세요
어제는 답변해주신 사항 참고하여 무사히 진행하였습니다. 감사합니다.

혹시 전달 주신 아래 카카오 싱크 플로우 중 8번 “Register user” 중 Service APP 측 회원 가입이 재대로 이루어지지 않았을 경우 어떤 식으로 처리해야 카카오 싱크에서 오류로 인식하나요?

현재는 제 Service에는 오류 발생하여 저장 되지 않아도 카카오 싱크는 완료되는 거 같습니다.

image

안녕하세요.
4번 단계에서 사용자와 디벨로퍼스 앱간 연결이 완료됩니다.
(단, 이후 24시간 내로 6번과 같은 개인정보 관련 API를 사용하지 않으면 자동으로 연결이 끊어 집니다.)

8번 과정은 서비스측 회원 가입과 같은 서비스측 종속적인 로직 처리를 의미 하는데요
과정 중 실패하여 사용자에게 오류 메시지가 표시되더라도 사용자와 앱의 연결은 유지 됩니다.

만약 이 때, 연결을 끊고자 하신다면 오류를 핸들링 하시어 연결끊기 API를 사용하셔야만 합니다.

안녕하세요
해당 내용 이해하였습니다.

그러면 연결끊기 진행 후 정상 처리 시 redirect 하는 로직은 정상 진행 되면 되는 것일까요?

안녕하세요.

말씀처럼 처리하셔도 됩니다.
서비스측의 어떠힌 이유로 사용자의 카카오 싱크 실패 시 9번 단계에서 complete 파라미터로 false를 전달할 수 있습니다.