如何在客户端解码JWT令牌有效负载

How to decode JWT Token payload on client side?

本文关键字:令牌 有效 负载 JWT 解码 客户端      更新时间:2023-09-26

我使用jwt令牌进行身份验证,并希望在客户端读取有效负载信息。现在我正在做这样的事情:

var payload = JSON.parse(window.atob(token.split('.')[1])); 

是否有更好的方法在浏览器中使用jwt令牌?

这个简单的解决方案返回原始令牌、标头和有效负载:

function jwtDecode(t) {
  let token = {};
  token.raw = t;
  token.header = JSON.parse(window.atob(t.split('.')[0]));
  token.payload = JSON.parse(window.atob(t.split('.')[1]));
  return (token)
}

From https://github.com/auth0/jwt-decode

下载.build/jwt-decode.min.js文件并包含到项目中。

<script src="js/jwt-decode.min.js"></script>
var token = 'eyJ0eXAiOo876jgJ96...'; // jwt token;
var decoded = jwt_decode(token);
console.log(decoded);