0
点赞
收藏
分享

微信扫一扫

小型水库雨水情测报和大坝安全监测解决方案

文章目录

JWT是什么?

JWT全称JSON Web Token,是一种传输信息的标准,用于JSON对象在各方之间安全地传输信息。支持JSON对象传输,是JWT比较优越的一点。

为什么要使用JWT?

JWT比token更方便。由于token的验证需要调用认证服务,并且需要通过token向授权服务器获取用户信息,在这个过程中,会频繁调用授权服务器,而使用JWT可以避免这个缺点,使用JWT可以避免频繁调用认证服务器,同时JWT中携带了非敏感的身份认证信息(不必担心泄露后造成风险),同样可以避免频繁调用授权服务器

JWT的数据结构

一个典型的JWT如下图所示,他通常由头部(Header)、载荷(Payload)、签名 (Signature)组成。

在这里插入图片描述

JWT头部:通常由算法类型和令牌类型两部分组成,使用 Base64Url 编码表示

如下面的数据,是一个JWT头部:

{
"alg": "HS256",none
"typ": "JWT"
}

载荷(Payload):也使用 Base64Url 编码表示,载荷存储了有关用户或实体的声明等一些有用信息。

如下面的数据,是一个JWT载荷:

{
"sub": "1234567890",
"name": "John Doe",
"iat": 1516239022
}

签名(Signature):签名是对头部和载荷进行签名的结果,用于验证 JWT 的完整性和真实性。

JWT的工作过程

如下图,在用户登录账户名和密码时,如果认证成功,服务器会创建一个JWT cookie,将该cookie返回给用户,然后用户带着这个cookie再去访问服务器,服务器检查JWT是否合法,如果合法则返回一个响应:
在这里插入图片描述

举报

相关推荐

0 条评论