tp5使用jwt生成token,引入jwt的两种方法
一、使用composer引入
1、先安装对应插件
github:https://github.com/firebase/php-jwt
composer require firebase/php-jwt
2、在代码中引入
示例:common.php
use Firebase\JWT\JWT;
//生成验签
function signToken($user_id,$series_id,$user_power,$ip){
$key="dt".$ip; //这里是自定义的一个随机字串,应该写在config文件中的,解密时也会用,相当 于加密中常用的 盐 salt
$token=array(
"iss"=>$key, //签发者 可以为空
"aud"=>$ip, //面象的用户,可以为空
"iat"=>time(), //签发时间
"nbf"=>time()+1, //在什么时候jwt开始生效 (这里表示生成1秒后才生效)
"exp"=> time()+604800, //token 过期时间,这里表示一个星期(60*60*24*7)=604800
"data"=>[ //记录的data的信息,这里是自已添加上去的,如果有其它信息,可以再添加数组的键值对
"series_id"=>$series_id,
"user_id"=>$user_id,
"power"=>$user_power
]
);
$jwt = JWT::encode($token, $key);
// print_r($token);
return $jwt;
}
二、手动引入
1、将下载到的firebase文件夹拷贝到vendor下
2、再在代码中引入
示例:common.php
//生成验签
function signToken($user_id,$series_id,$user_power,$ip){
$key="dt".$ip; //这里是自定义的一个随机字串,应该写在config文件中的,解密时也会用,相当 于加密中常用的 盐 salt
$token=array(
"iss"=>$key, //签发者 可以为空
"aud"=>$ip, //面象的用户,可以为空
"iat"=>time(), //签发时间
"nbf"=>time()+1, //在什么时候jwt开始生效 (这里表示生成1秒后才生效)
"exp"=> time()+604800, //token 过期时间,这里表示一个星期(60*60*24*7)=604800
"data"=>[ //记录的data的信息,这里是自已添加上去的,如果有其它信息,可以再添加数组的键值对
"series_id"=>$series_id,
"user_id"=>$user_id,
"power"=>$user_power
]
);
// print_r($token);
vendor('Firebase.php-jwt.src.JWT');
$JWT=new \Firebase\JWT\JWT();
$jwt = $JWT->encode($token, $key);
return $jwt;
}
以上就是两种方式。
分割线
分享个vue学习的教程
本人亲自维护的接口
非常适合vue零基础或者刚入门vue的小白学习。
资源包括源码、视频、接口文档,从入门到实战项目
如果你想学习vue,这里有个项目线上尝鲜地址:http://129.226.76.172:5325