카카오싱크 플러그인 연동 관련 문의

기존에 프로필 플러그인을 통해 인증을 진행하고 있던 서비스를 카카오 싱크 플러그인을 통해 진행하고 있습니다.
‘인가코드 받기 => 토큰 받기 => 토큰으로 사용자 정보 API 조회=> 회원가입처리’ 까지 진행 후 카톡화면으로 돌아가지 않아서, talk-plugin.kakao.com/sync/complete api를 직접 호출하여 다음단계로 진행하였습니다.

그런데 연결끊기, 토큰 만료 등, 토큰을 재발급 받아야 할 경우, 인가코드도 다시 필요한데, 인가 코드를 따로 저장해서 토큰 재발급을 진행해야하는건가요? 아니면 인가코드도 새로 다시 받아서 토큰을 재발급받아야하는건지요?

문의 사항에 따라 필요한 정보를 먼저 입력하시면 더 빠르게 대응해 드릴 수 있습니다.

  • 개발 과정에서 문제가 있을 경우

    • 앱 아이디(app ID):
    • 호스팅 사:
    • 서비스 URL :
    • 오류 내용 :
  • 퍼머링크 생성이 필요할 경우 (자세한 신청 방법은 가이드 참고)

    • 카카오싱크 퍼머링크의 서비스 랜딩URL:
    • 디벨로퍼스 앱과 연결된 카카오톡 채널의 검색용 아이디:

카카오 로그인 관련 에러(Invalid redirect. 예: KOE006)가 발생할 경우, 가이드를 참고합니다.

안녕하세요~

"인가코드"는 한번 발급되어 사용하면, 재사용 불가능합니다.
토큰을 재발급 받아야 할 경우, 다시 인가 요청을 하셔서 코드 재발급 받으셔야합니다~

카카오톡에서 싱크플러그인을 호출하면 인가코드 요청 API를 호출하지 않아도, 싱크플러그인 redirect URI로 인가코드값이 넘겨져서, 이후 토큰 발급 API를 호출하면 되는데요…

토큰 재발급을 위해 다시 인가 코드요청은 어떻게 해야하는지요?

디벨로퍼 가이드 '문서>카카오 로그인>REST API>인가코드받기’에 나와있는대로

GET /oauth/authorize?client_id={REST_API_KEY}&redirect_uri={REDIRECT_URI}&response_type=code HTTP/1.1
Host: kauth.kakao.com

를 호출하면 리다이렉션은 진행되지 않고 Location에 아래 내용이 찍힙니다.

{REDIRECT_URI}?error_description=user%20authentication%20required.&error=login_required

도움 부탁드립니다.

그리고, 카카오싱크 플러그인을 통해 인증한 상태에서는 연결끊기(unlink) 처리도 토큰을 재발급 받아서 호출해야하나요? ADMIN키로 호출해서 처리하려면 아래와 같은 응답이 옵니다.
{
“msg”: “no authentication key!”,
“code”: -401
}

안녕하세요~

  1. 연결끊기한 후 면 처음 가입하는 거랑 동일하게 약관동의 해야해서
    챗봇에서는 싱크플러그인 호출로 인가 요청과 동일한 역할을 수행해야 할 것 같은데요. 처리하시는데 문제 있으실까요?

  2. /oauth/authorize요청에 login_required가 나온것과 unlink 시, no authentication key 가 나온 것 모두 인가 처리가 안된 건데요.

April 27th 2021, 10:25:04.454 unlink 로그를 보니 만료된 액세스 토큰을 사용하신것 같아요.
헤더 authorization에 admin key(KakaoAK) 가 아니라 Bearer가 들어왔습니다.

확인 부탁드려요~

질문이 제대로 전달되지 않은것 같아서 다시 문의드립니다.

  1. 카카오챗봇 가입 약관 동의 => 인증블록에서 카카오싱크 플러그인 호출 => Redirect URL로 인가코드 수신 => 수신된 인가코드로 토큰발급( /oauth/token) => 토큰으로 사용자 정보 조회(/v2/user/me ) => 완료(sync/complete) 호출 => continueURL로 리다이렉트 => {“saved”:true,“message”:"*** 서비스를 카카오 계정으로 이용할 수 있습니다. "} 메시지 수신

  2. 이 상태에서 admin key로 unlkin시 -401(no authentication key!) 오류

  3. 이 상태에서 발급된 억세스 토큰으로 unlink시 연결끊기 처리 완료 확인

  4. 그런데 인증완료된 상태에서 억세스 토큰이 만료되었다면, 연결끊기 처리를 하기 위해서 억세스 토큰 재발급이 필요함

  5. 억세스 토큰을 재발급 받기 위해서, 인가코드 발급 API를 호출(GET /oauth/authorize)시 리다이렉트 및 코드 수신 안됨

HTTP/1.1 302 Found
Date: Wed, 28 Apr 2021 00:15:39 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
X-Frame-Options: DENY
Location: https://dev-p2.mboplatform.com/obot/ibuilder/auth/HMALL/newAuthorize?error_description=user%20authentication%20required.&error=login_required
Kakao: Talk
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Headers: Authorization, KA, Origin, X-Requested-With, Content-Type, Accept

처리를 잘못하고 있는지 확인 부탁 드립니다.

감사합니다.

  1. 로그를 보니 unlink 요청에서 401 케이스가 발생한 것은 1건이고 토큰방식으로 요청이 된 케이스인데요.

Admin Key 방식으로 다시한번 호출 부탁드려요.

  1. /oauth/authorize 로그를 보니 prompt = none 자동로그인 파라메터를 주셨는데요.

파라메터 없이 호출 해보시겠어요?
(자동로그인 파라메터를 사용하시면 unlink된 고객은 에러 응답을 반환합니다.)