🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### composer安装JWT`` > ***** > ` composer require lcobucci/jwt` > ***** ### 依赖 * PHP 5.5+ (v3.2) and PHP 7.1 (v4.x) * OpenSSL Extensio ### 参数解释 ![](https://img.kancloud.cn/22/24/22245d07207474cf0347e902b8b95484_1009x387.png) ### 生成token ~~~ use Lcobucci\JWT\Builder; //创建jwt $time = time(); $token = (new Builder())->issuedBy('http://maicaii.com') // 发行者 ->permittedFor('http://maicaii.com') // 观众 ->identifiedBy('4f1g23a12aa', true) // id (jti claim), ->issuedAt($time) // 发行时间(iat claim) ->canOnlyBeUsedAfter($time + 60) // 可使用时间 (nbf claim) ->expiresAt($time + 3600) // 过期时间(exp claim) ->withClaim('usernam', ‘Gonggui’) // 配置一个新的字段 ->withClaim('password', ‘Gonggui’) // 配置一个新的字段 ->getToken(); // 生成令牌 ~~~ ### 结果 ~~~ //只有两部分,没有签名部分 eyJpc3MiOiJodHRwOlwvXC9tYWljYWlpLmNvbSIsImF1ZCI6Imh0dHA6XC9cL21haWNhaWkuY24iLCJqdGkiOiI0ZjFnMjNhMTJhYSIsImlhdCI6MTU4NTczODkzMiwibmJmIjoxNTg1NzM4OTkyLCJleHAiOjE1ODU3NDI1MzIsInVzZXJuYW1lIjoiR29uZ2d1aSIsInBhc3N3b3JkIjoiR29uZ2d1aSJ9. ~~~ ### 生成带签名的token ~~~ use Lcobucci\JWT\Builder; use Lcobucci\JWT\Signer\Key; use Lcobucci\JWT\Signer\Hmac\Sha256;// 签名加密方式 $time = time(); $token = (new Builder())->issuedBy('http://maicaii.com') // 发行者 ->permittedFor('http://maicaii.cn') // 观众 ->identifiedBy('4f1g23a12aa', true) // id (jti claim), ->issuedAt($time) // 发行时间(iat claim) ->canOnlyBeUsedAfter($time + 60) // 可使用时间 (nbf claim) ->expiresAt($time + 3600) // 过期时间(exp claim) ->withClaim('username', 'Gonggui') // 配置一个新的字段 ->withClaim('password', 'Gonggui') // 配置一个新的字段 ->getToken(new Sha256(),new Key('你的key')); // 生成令牌 key要保密 return $token; ~~~ ### 结果 ~~~ eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImp0aSI6IjRmMWcyM2ExMmFhIn0 .eyJpc3MiOiJodHRwOlwvXC9tYWljYWlpLmNvbSIsImF1ZCI6Imh0dHA6XC9cL21haWNhaWkuY24iLCJqdGkiOiI0ZjFnMjNhMTJhYSIsImlhdCI6MTU4NTc0MTc1MiwibmJmIjoxNTg1NzQxODEyLCJleHAiOjE1ODU3NDUzNTIsInVzZXJuYW1lIjoiR29uZ2d1aSIsInBhc3N3b3JkIjoiR29uZ2d1aSJ9 .5BOA\_nzBBz2ZgDnJqAD-h--Qa1NXjb4Jsl-MdIs-MCc ~~~