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

news/2024/11/23 23:07:18/

前言

在如今得环境下,越来越多得项目采用微服务,前后端分离项目。优点在于同时开发,分开部署。缺点在于需要约定的太多,导致前后端联调产生分歧。就标题而言,解决前端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,在于平常积累。如有问题请指导,勿喷,感激不尽。


http://www.ppmy.cn/news/740642.html

相关文章

laravel整合 tymon/jwt-auth

安装 composer require tymon/jwt-auth#生成 JWT_SECRET 写入.env(自动写入) php artisan jwt:secret 配置文件 config/app.php //providers数组中添加如下代码 providers>[...Tymon\JWTAuth\Providers\LaravelServiceProvider::class, ],//在ali…

Suunto Traverse 运动模式添加

程序员身体素质也要硬,所以最近买了个Suunto Traverse运动手表,入手这个手表就是看中了续航时间比较长,不用老充电,之前买了个Ticwatch Pro向乎每天都要充电,太烦心了。 Traverse 中文品牌翻译是远征,个人…

帕累托图 (Pareto Chart)

帕累托图用于识别最有可能考虑影响过程或结果的变量行为的因子类别。流程改进团队使用Pareto图表来确定其工作的优先级。 在帕累托图中,垂直条通常代表每个类别,条形图上方的累积折线图确定了最有可能成为研究重要目标的因素。 优点 使用和理解的简单…

Laravel快速接入JWT用户认证(多用户认证)tymon/jwt-auth

JWT应用 创建新项目安装快速接入创建 Token 完成接口多用户认证创建 Admin JWT 是 JSON Web Token 的缩写,它是一个规范,让用户和服务器之间传递安全可靠的信息。 创建新项目 创建一个 Laravel的新项目,我们依然推荐大家使用 LTS 的版本&am…

Cantor表

题目 现代数学的著名证明之一是 Georg Cantor 证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的: 1/1 , 1/2 , 1/3 , 1/4, 1/5, … 2/1, 2/2 , 2/3, 2/4, … 3/1 , 3/2, 3/3, … 4/1, 4/2, … 5/1, … … 我们以 Z 字形给上表的每一项编号。第一…

Cantor 表

题目描述 现代数学的著名证明之一是 Georg Cantor 证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的: 1/11/1 , 1/21/2 , 1/31/3 , 1/41/4, 1/51/5, … 2/12/1, 2/22/2 , 2/32/3, 2/42/4, … 3/13/1 , 3/23/2, 3/33/3, … 4/14/1, 4/24/2, … 5/1…

康托展开详解

1.概述 康托展开(Cantor Expansion)是一个相对快速的判重方法,是一种特殊的哈希函数,其复杂度为O(n^2),n是集合中元素的个数。函数康托Cantor()实现的功能是:输入一个排列,得到这个排列所对应的…

Token系列:Joint Token Pruning and Squeezing Towards More Aggressive Compression of Vision Transformers

动态Token系列:Joint Token Pruning and Squeezing Towards More Aggressive Compression of Vision Transformers 论文阅读 一、Abstract二、引言三、相关工作原始 ViTs混合 ViTsToken裁剪 四、方法4.1 动机4.2 Token 裁剪4.3 Token 压缩匹配融合 4.4 TPS 嵌入到混…