Web

[React] Kakao Login AccessToken 받아오기

정고정 2022. 1. 25. 21:31
반응형

https://developers.kakao.com/tool/demo/login/login?method=dynamic

카카오에서 제공해주는 예제를 리액트 기준으로 수정했다. 

사람마다 코딩스타일이 다른 만큼 정말 필수적인 부분만 떼어옴. 

팝업으로 로그인창 띄운 다음에 동의화면 끝나면 콘솔로 access_token, refresh_token, 만료일자 등등등 바로 받아 온다. 

기존 restAPI 키 써서 인가코드 받고 -> 다시 요청 날려서 토큰값 받아오는 것보다 깔끔한 듯. 

 

 

Index.html 

  <script src="https://developers.kakao.com/sdk/js/kakao.js"></script>
  <script>Kakao.init("{javascript 앱 키}");</script>

 

Login.js에 들어가는 Kakao Btn

<button id="custom-login-btn" onClick={loginWithKakao}>
      <img
            src="//k.kakaocdn.net/14/dn/btroDszwNrM/I6efHub1SN5KCJqLm1Ovx1/o.jpg"
            width="222"
        alt="카카오 로그인 버튼"
      />
</button>

Login.js에 들어가는 onClick function

function loginWithKakao() {
  Kakao.Auth.login({
    success: function(authObj) {
      console.log(JSON.stringify(authObj));
    },
    fail: function(err) {
      alert(JSON.stringify(err))
    },
  })
}

그러면 콘솔로 값이 막 뜬다. 

내 서비스키를 사용해서 한 번 access_token까지 발급받은 유저는 내 카카오 서비스 회원으로 등록되기 때문에 다시 로그인 버튼을 누르면 동의창이 뜨지 않는다. 

 

값을 백엔드로 넘겨주시면 어케저게 잘 할게요. 화이팅. 

 

반응형