atob

Jaymee·2021년 9월 16일
0

개발하다가 로그인하면 발생하는 jwt token을 항상 요청이 있는 api의 미들웨어로 처리하다가 이번에는 socketio를 통해서 통신할때 token을 복호화를 하는 일이 생겼다.

atob이라는 Base64를 통해서 암호화한 코드를 복호화할 수 있는 함수를 알아냈다.

const atob = require('atob')
function parseJwt (token) {
  var base64Url = token.split('.')[1];
  var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
  var jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) {
      return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
  }).join(''));

  return JSON.parse(jsonPayload);
};

어떤 Payload를 썼는지까지 알 수 있는 함수이기 때문에 조심히 사용해야 할 것 같다.

profile
backend developer

0개의 댓글