JWT介绍:
全称JSON Web Token,基于JSON的开放标准((RFC 7519) ,以token的方式代替传统的Cookie-Session模式,用于各服务器、客户端传递信息签名验证。
JWT优点:
1:服务端不需要保存传统会话信息,没有跨域传输问题,减小服务器开销。 2:jwt构成简单,占用很少的字节,便于传输。 3:json格式通用,不同语言之间都可以使用。
JWT组成jwt由三部分组成:
头部(header) 载荷(payload) 包含一些定义信息和自定义信息 签证(signature)
1:具体构成:header{
"typ": "JWT", //声明类型为jwt
"alg": "HS256" //声明签名算法为SHA256
}
2:具体构成: 载荷(payload)
{
"iss": "http://www.helloweba.net",
"aud": "http://www.helloweba.net",
"iat": 1525317601,
"nbf": 1525318201,
"exp": 1525318201,
"data": {
"userid": 1,
"username": "李小龙"
}
}
载荷包括两部分:标准声明和其他声明。
标准声明:JWT标准规定的声明,但不是必须填写的;
标准声明字段:
接收该JWT的一方
iss: jwt签发者
sub: jwt所面向的用户
aud: 接收jwt的一方
exp: jwt的过期时间,过期时间必须要大于签发时间
nbf: 定义在什么时间之前,某个时间点后才能访问
iat: jwt的签发时间
jti: jwt的唯一身份标识,主要用来作为一次性token。
其他声明:
自己定义的字段,因为这部分是可以解开的,建议不要加入敏感信息,这里的data就是我自己定义的声明
最终是这样的:
三部分分别以逗号隔开
四:使用:PHP有很多jwt包,包括比如:lcobucci/jwt,我这里使用firebase。可以从 git地址 下载
实例应用 1 安装composer require firebase/php-jwt
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?