주의: 리프레시 토큰 미제공
JavaScript SDK의 보안 강화를 위해 리프레시 토큰을 취급하지 않도록 수정되었습니다. Kakao.Auth.login 및 Kakao.Auth.createLoginButton 함수를 사용한 로그인 시 발급되는 리프레시 토큰 정보(refresh_token, refresh_token_expires_in)는 2020년 7월 27일 응답에서 제외되었습니다. 서비스에서 리프레시 토큰을 사용하고 있다면 Kakao.Auth.authorize() 함수를 사용해 인가 코드 요청을 하고, REST API로 토큰 받기를 사용하도록 업데이트해야 합니다. 자세한 내용은 공지사항을 참고합니다.
팝업창 로그인을 위해 Kakao.Auth.login 사용하려고 하는데요.
현재 문서 하단에 위와 같은 설명이 작성되어 있는데, 테스트 해본 결과
refresh 토큰이 넘어오네요. 사용하면 안되는 건가요?
안녕하세요.
사용하시면 안됩니다.
refresh_token, refresh_token_expires_in 필드는 다음 버전의 SDK에서 삭제되는 방향으로 진행 중 입니다. 때문에 지금 보이더라도 취급되지 않는 정보임을 알려 드립니다.
네 감사합니다.
그렇다면 Kakao.Auth.authorize 해당 방식을 팝업창 형식으로 처리할 수 있을까요?
해당 방식은 예제 코드 상 Kakao.Auth.login을 사용하고 있어서 기존 문제랑 동일해보입니다.
제가 잘못 이해 하고 답변드린것 같아요
refresh_token 사용하시기 위한 로그인 방식이 필요하신거죠?
네 JS 에서 팝업창을 통해 로그인 과정을 거쳐서
토큰 정보를 얻고자 합니다.
팝업창을 이용한 방식은 카카오 로그인 동의 화면을 팝업으로 띄울 목적이거나 클라이언트에서 모든 인증 처리를 하고 싶을 때, 사용하시는 기능입니다.(이런 경우 유효시간 2시간이 지나면 토큰을 갱신할 수 없어 다시 로그인 하도록 해야 합니다.)
refresh_token을 사용하시려면, Kakao.Auth.authorize()
함수를 사용하여 인가코드 요청을 하고, 백앤드 서버에서 REST API로 받은 refresh_token을 사용하셔야 합니다. 그리고 발급 받으신 refresh_token은 클라이언트에 노출 시켜서는 안되며 필요시 서버에서만 사용하셔야 합니다.
혹시, 화면 전환이 되는 리다이렉트 방식이 불편하시어 팝업으로 처리하고 싶으시다면, 팝업에 의한 로그인 처리는 직접 개발 하셔야 합니다