Kakao.Auth.getAccessToken() 도메인 간 공유

Kakao.Auth.getAccessToken() 사용하는데 있어서 질문 드립니다.

일단 시나리오를 설명하자면

  1. login.test.com 에서 java단에서 rest API를 이용하여 카카오로 로그인을 합니다.

  2. share.test.com 에서 javascript SDK를 이용하여 Kakao.Auth.getAccessToken() 가져와서 /v1/api/story/post/link 기능을 사용하려고 하는데,

share.test.com에서 Kakao.Auth.getAccessToken() 을 못가져오더라구요.

가져오려면 share.test.com 에서 한번더 로그인을 시도해야하는데,

바로 Kakao.Auth.getAccessToken() 을 가져올수는 없는 건가요?

참고로 아래 url과 유사한 이슈 입니다.
https://devtalk.kakao.com/t/kakao-auth-getstatus-not-connected/5522

감사합니다…

몇 가지 확인 후 가이드 드리겠습니다.

  1. login.test.com와 share.test.com은 같은 앱이 맞나요? (https://developers.kakao.com에서 생성한 앱 기준)
  2. share.test.com은 rest API 사용을 할 수 없는 상황인가요?

답변 감사합니다.

질문에 답드립니다

  1. 서로 다른 앱입니다.

  2. restapi 사용할수 있는데. javascrit sdk 사용이 간편해 보여서 javascrit로 적용하고 잌씁니다

보안 상의 이유로 서로 다른 플랫폼 간의 token 공유는 할 수 없습니다.
(REST API, JavaScript SDK, Android, IOS)

아래와 같은 방법은 어떨까요?
login.test.com 로그인 시 생성된 쿠키를 활용한 방법입니다.

ex) share.test.com 코드 샘플

  <div><button id="btn">TEST</button></div>
  <script>
    document.getElementById('btn').onclick = function() {
      Kakao.Auth.login({
        success: function () {
          Kakao.API.request({
            url: '/v1/api/story/post/link',
            data: {
              link_info: {
                "url":"https://developers.kakao.com/",
                "requested_url":"http://bit.ly/1wwLqDl",
                "host":"developers.kakao.com",
                "title":"Kakao Developers_",
                "image":["http://dn-l1-story.kakao.co.kr/dn/bc995u/hydnh8wbKi/dz59YCCjyZSXNmDgTPpPa0/img.jpg?height=630&width=1200"],
                "description":"더 나은 세상을 꿈꾸고 그것을 현실로 만드는 이를 위하여 카카오에서 앱 개발 플랫폼 서비스를 시작합니다.",
                "section":"",
                "type":"website"
              }
            }
          });
        }
      });
    };
  </script>

참고) 위 방법은 JavaScript SDK에서 로그인을 1번 더 시도하기 때문에 팝업창이 떴다가 사라지는 현상은 있습니다.

답변 감사드립니다.

목적이 팝업창 뜨는걸 제거하기 위해서였는데,

비동기로 로그인 팝업창을 또 띄우려면 팝업차단 문제가 걸리더라구요.

따라서 rest API 통신으로 대체 했습니다.

감사합니다,!