jwt 是什么 ?
JWT 全称 Json Web token,是为了在网络应用环境间传递声明而执行的一种基于json的开放标准(RFC 7519),该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者之间传递被认证的用户身份信息,以便于从服务器获取资源,也可以增加一些额外的其他业务逻辑所必须的声明信息,该token也可之间被用于认证,也可以被加密。
简而言之,我们这里要用到的就是jwt的加密和解密。
第一步 安装jwt扩展
建议使用composer安装 方便 快捷
composer require firebase/php-jwt
第二步 调用 JWT里面的 encode 和 decode方法进行生成token和验证token
这里是在app 目录下的 common.php 文件使用的 ,做成了公共方法
首先 引入 JWT ,然后写两个方法,生成验签和验证token。
use \Firebase\JWT\JWT;
//生成验签
function signToken($uid){
$key='!@#$%*&'; //这里是自定义的一个随机字串,应该写在config文件中的,解密时也会用,相当 于加密中常用的 盐 salt
$token=array(
"iss"=>$key, //签发者 可以为空
"aud