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
