vue前端解析jwt

vue前端解析jwt

我们可以用在线解析看解析的结果:https://www.lddgo.net/encrypt/jwt-decrypt

但是如果在前端需要解析token,拿到其中的权限信息,可以这样解决。

在线的:

完美解决:

代码:

js 复制代码
function parseJwt(token) {
  // 分割JWT的三个部分
  const parts = token.split('.');
  // 解码JWT的payload部分
  const payload = decodeBase64Url(parts[1]);
  // 将解码后的payload转换为对象
  return JSON.parse(payload);
}

function decodeBase64Url(input) {
  let base64 = input.replace(/-/g, '+').replace(/_/g, '/');
  switch (base64.length % 4) {
    case 0:
      break;
    case 2:
      base64 += '==';
      break;
    case 3:
      base64 += '=';
      break;
    default:
      throw 'Invalid base64 string';
  }
  return decodeURIComponent(atob(base64));
}

// 假设你有一个JWT
let jwt = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ';

// 解析JWT
let jwtPayload = parseJwt(jwt);

// 使用解析后的payload
console.log(jwtPayload.iss); // 输出: jwt的签发者
console.log(jwtPayload.iat); // 输出: jwt的签发时间
相关推荐
复苏季风22 分钟前
聊聊 ?? 运算符:一个懂得 "分寸" 的默认值高手
前端·javascript
探码科技24 分钟前
AI驱动的知识库:客户支持与文档工作的新时代
前端
朱程1 小时前
写给自己的 LangChain 开发教程(一):Hello world & 历史记录
前端·人工智能
luckyCover1 小时前
js基础:手写call、apply、bind函数
前端·javascript
Dragon Wu2 小时前
前端 下载后端返回的二进制excel数据
前端·javascript·html5
北海几经夏2 小时前
React响应式链路
前端·react.js
晴空雨3 小时前
React Media 深度解析:从使用到 window.matchMedia API 详解
前端·react.js
一个有故事的男同学3 小时前
React性能优化全景图:从问题发现到解决方案
前端
探码科技3 小时前
2025年20+超实用技术文档工具清单推荐
前端
Juchecar3 小时前
Vue 3 推荐选择组合式 API 风格(附录与选项式的代码对比)
前端·vue.js