前台解析jwt token 前后端分离 ant design pro

2023-05-16

前言

在如今得环境下,越来越多得项目采用微服务,前后端分离项目。优点在于同时开发,分开部署。缺点在于需要约定的太多,导致前后端联调产生分歧。就标题而言,解决前端antd 接收后台返回的jwt token字符串 进行解析做记录。

关于jwt

三部分组成(其他的不做过多介绍,又不是本文的主题 ha ha ha ~~~)

第一部分我们称它为头部(header),第二部分我们称其为载荷(payload, 类似于飞机上承载的物品),第三部分是签证(signature).

例如:

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ8.eyJhdWQiOlsic2VydmljZS1hcnRpY2xlIiwic2VydmljZS1hdXRoIl0sImZ1bmN0aW9uTGlzdCI6ImhhaCIsInVzZXJfbmFtZSI6IjEzMDY2NzY2MTkzIiwic2NvcGUiOlsiYWxsIl0sIm5hbWUiOiLlvKDkuInkuLAiLCJleHAiOjE2MDUyNDM1MjUsImF3dGhvcml0aWVzIjpbImJhc2ljLmFkZCJdLCJqdGkiOiIzZjI0NzI1NC0zMzVhLTQ5MGItOTEyZC1jYTBhYWRkZmVkOTMiLCJjbGllbnRfaWQiOiJwYyJ9.xTKDzfxwGZVwIMf3nm4C8f0bfoEKy1AVqDO1LNGDjz9z4UCRJmSyTXAYAx3Ph_GHLKIa3IGpMoVz1aAwKwZ2GqpFI1uKwReK4Nl8K92pHUwNNFxkbhPcOauWjsrw5BDHn3jBOC2GhUTrY0kifaJ4FjAAIbyVGr04VhZMp6sYdfrWUVLHm3d848RR3JW_OvMJfWOnuRJ-T1SMho9buLmSKUtBexWXb-uQY72BicGRJIrSJk4QlGHYzb4jss39DFU_bszLXJXoM4ho8n-qmUdjy0gmhr-csIbctSCEVZeTyKO_KJ9HrU6UgnIjErj-fCJVXElXaddkZpjpthTQf-I8iA

解析

let tokenString = 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ8.eyJhdWQiOlsic2VydmljZS1hcnRpY2xlIiwic2VydmljZS1hdXRoIl0sImZ1bmN0aW9uTGlzdCI6ImhhaCIsInVzZXJfbmFtZSI6IjEzMDY2NzY2MTkzIiwic2NvcGUiOlsiYWxsIl0sIm5hbWUiOiLlvKDkuInkuLAiLCJleHAiOjE2MDUyNDM1MjUsImF3dGhvcml0aWVzIjpbImJhc2ljLmFkZCJdLCJqdGkiOiIzZjI0NzI1NC0zMzVhLTQ5MGItOTEyZC1jYTBhYWRkZmVkOTMiLCJjbGllbnRfaWQiOiJwYyJ9.xTKDzfxwGZVwIMf3nm4C8f0bfoEKy1AVqDO1LNGDjz9z4UCRJmSyTXAYAx3Ph_GHLKIa3IGpMoVz1aAwKwZ2GqpFI1uKwReK4Nl8K92pHUwNNFxkbhPcOauWjsrw5BDHn3jBOC2GhUTrY0kifaJ4FjAAIbyVGr04VhZMp6sYdfrWUVLHm3d848RR3JW_OvMJfWOnuRJ-T1SMho9buLmSKUtBexWXb-uQY72BicGRJIrSJk4QlGHYzb4jss39DFU_bszLXJXoM4ho8n-qmUdjy0gmhr-csIbctSCEVZeTyKO_KJ9HrU6UgnIjErj-fCJVXElXaddkZpjpthTQf-I8iA';
let user = JSON.parse(decodeURIComponent(escape(window.atob(tokenString.split('.')[1]))))
console.log("user", user)

结果:

新方法:


1.安装jwt模块
npm install jsonwebtoken
2.在js文件中引用
var jwt = require(“jsonwebtoken”);
3.解码
jwt.decode(‘token’)

总结

该解析其实不是react专用写法,本身是一个js写法,只不过适用于react,在于平常积累。如有问题请指导,勿喷,感激不尽。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前台解析jwt token 前后端分离 ant design pro 的相关文章

随机推荐

  • 非线性卡尔曼滤波及可观测性、观测度

    一 非线性系统的滤波方法 对于非线性系统 xff0c 一种常见的解决思路是先进行泰勒级数展开 xff0c 略去高阶项后近似为线性系统 xff0c 再做线性Kalman滤波估计 这种处理非线性系统的Kalman滤波方法称为扩展Kalman滤波
  • 初始对准及组合导航技术

    一 对准是确定坐标系的过程 1 初始对准 比如说 xff1a 初始对准就是确定的过程 xff0c 通过重力加速度和地球自转角速度 xff0c 其中 xff0c 天向通过重力加速度确定 xff0c 水平面的东北向通过地球自转角速度的分量确定
  • U转串口时,鼠标乱动,解决办法

    window操作系统下 xff0c 当我们通过USB口连接串口后 xff0c 经常发生鼠标乱跳 乱动的现象 xff0c 就好像有人在操作我们的电脑 xff0c 尤其是在长时间保存数据 无人值守的时候 xff0c 一般发生这种问题 xff0c
  • 内参矩阵、外参矩阵、旋转矩阵、平移矩阵、单应矩阵、本征矩阵、基础矩阵

    自己在单目结构光系统 双单目结构光系统及双目相机系统学习的过程中接触到如标题所列的各种矩阵 xff0c 总感觉理解不到位 xff0c 现在特总结下 xff0c 方便日后查阅及修正自己的理解 自己已经总结了单目相机各坐标系的变换 xff0c
  • python报"IndentationError: unexpected indent"的解决方法.

    python是一种对缩进非常敏感的语言 xff0c 最常见的情况是tab和空格的混用会导致错误 xff0c 或者缩进不对 xff0c 而这是用肉眼无法分别的 61 61 61 61 61 61 61 61 61 61 61 61 61 61
  • 我公司招聘嵌入式开发工程师一名,欢迎朋友们做自荐或推荐

    招聘嵌入式开发工程师一名 JD如下 xff1a 1 基于嵌入式linux操作系统进行应用开发 2 基于嵌入式linux系统进行软件集成 3 参与项目需求分析 xff0c 进行系统框架和核心模块的设计 4 编写软件设计文档 测试文档及其他相关
  • 激光产品的安全国标

    GB 7247 1 2012 IEC60825 2014
  • Linux Ubuntu16 网络配置

    1 首先确认网络适配器是桥接模式 虚拟机 gt 设置 gt 网络适配器 gt 桥接 自定义的 VMnet0 2 配置桥接网卡 编辑 gt 虚拟网络编辑器 N gt 更改设置 xff0c 添加Vmnet0 如果可以点击添加网络 xff0c 点
  • AIGC和ChatGPT的区别

    AIGC和ChatGPT的区别主要在于 xff1a AIGC是一个广泛的概念 xff0c 包括多种类型的内容生成 xff1b ChatGPT是一个具体的产品 xff0c 只涉及文本生成 AIGC可以应用在多个领域和场景 xff1b Chat
  • 6S管理的24个常用工具、10大要点

    6S管理就是整理 xff08 SEIRI xff09 整顿 xff08 SEITON xff09 清扫 xff08 SEISO xff09 清洁 xff08 SEIKETSU xff09 素养 xff08 SHITSUKE xff09 安全
  • 二进制位运算

    http blog csdn net gzu imis article details 20078479 1 原码 反码 和 补码 二进制位元算包括按位与 按位或 按位异或 取反 左移以及右移这几种运算 xff0c 运算都使用补码 xff0
  • python中的pow()函数解释

    Python中pow xff0c 里面可以有两个或三个参数 xff0c 它们的意义是完全不同的 1 pow x y 这个是表示x的y次幂 gt gt gt pow 2 4 16 gt gt gt 2 pow x y z xff1a 这个是表
  • javascript中的显示和隐藏(display属性)

    lt DOCTYPE HTML gt lt html gt lt head gt lt meta http equiv 61 34 Content Type 34 content 61 34 text html charset 61 gb2
  • Python中的图像处理

    http www ituring com cn tupubarticle 2024 第 1 章 基本的图像操作和处理 本章讲解操作和处理图像的基础知识 xff0c 将通过大量示例介绍处理图像所需的 Python 工具包 xff0c 并介绍用
  • ubuntu中aptitude工具的意思

    aptitude xff1a xff08 Debian系统的包管理工具 xff09 aptitude与 apt get 一样 xff0c 是 Debian 及其衍生系统中功能极其强大的包管理工具 与 apt get 不同的是 xff0c a
  • 什么是微服务

    一 微服务介绍 1 什么是微服务 在介绍微服务时 xff0c 首先得先理解什么是微服务 xff0c 顾名思义 xff0c 微服务得从两个方面去理解 xff0c 什么是 34 微 34 什么是 34 服务 34 xff0c 微 狭义来讲就是体
  • 三、Docker:命令

    其他文章 xff1a 一 Docker xff1a 概述 二 Docker xff1a 安装 三 Docker xff1a 命令 四 Docker xff1a 可视化管理 五 Docker xff1a 镜像 xff08 image 六 Do
  • mysql group by 报错Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated c

    当使用group by的语句中 xff0c select后面跟的列 xff0c 在group by后面没有时 xff0c 会报以下错误 xff1a Expression 2 of SELECT list is not in GROUP BY
  • Opencv快速入门(C++版),新手向

    Opencv快速入门 C 43 43 版 xff09 前言1 图像的读取与显示所使用的API接口 xff1a 代码演示 xff1a 2 图像色彩空间转换所使用的API接口 xff1a 代码演示 xff1a 3 图像对象的创建与赋值所使用的A
  • 前台解析jwt token 前后端分离 ant design pro

    前言 在如今得环境下 xff0c 越来越多得项目采用微服务 xff0c 前后端分离项目 优点在于同时开发 xff0c 分开部署 缺点在于需要约定的太多 xff0c 导致前后端联调产生分歧 就标题而言 xff0c 解决前端antd 接收后台返