Kakao.Auth.getAccessToken() 사용하는데 있어서 질문 드립니다.
일단 시나리오를 설명하자면
-
login.test.com 에서 java단에서 rest API를 이용하여 카카오로 로그인을 합니다.
-
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
감사합니다…
보안 상의 이유로 서로 다른 플랫폼 간의 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 통신으로 대체 했습니다.
감사합니다,!