1、安装jwt
composer require firebase/php-jwt
2、引入jwt
use Firebase\JWT\JWT;
use Firebase\JWT\Key;
3、生成token
aud字段在单点登录的时候使用, a.com b.com 两个系统标识出来
$secret = '123'; // 密匙
$payload = [
'iss'=>'sol', // 签发人(官方字段:非必需)
'exp'=>time()+3600*24*7, // 过期时间(官方字段:非必需)
'aud'=>'admin', // 受众,谁使用这个token(官方字段:非必需)
'nbf'=>time(), // 生效时间(官方字段:非必需)
'iat'=>time(), // 签发时间(官方字段:非必需)
'user_id'=>$adminId, // 自定义字段 一般为user_id
];
$jwt = JWT::encode($payload, $secret, 'HS256');
echo $jwt;
4、解码token获取信息
$token = JWT::decode($str, new Key($secret, 'HS256'));
dump($token);
// 解码出来就是上一步的 $payload 对象,用数组的话转化一下就OK