leruge / tp-jwt
1.0.1
2020-09-29 01:49 UTC
Requires
- php: ^7.0
- topthink/framework: ^5.1.10
This package is auto-updated.
Last update: 2021-10-19 15:09:00 UTC
README
thinkphp6的jwt身份验证包。目前仅支持通过header传参进行验证。
安装
composer require leruge/tp6-jwt
说明
- 目前仅支持HS256算法加密。
- 计划支持以下三大类型加密方式:RSA、HASH、DSA。每种方式下分为256、384、512位。默认是HS256,即hash 256位加密。
- 需要修改加密方式,请修改参数ALGO,参数选项:
- HS256:hash256位
- HS384:hash384位
- HS512:hash512位
- RS256:rsa256位
- RS384:rsa384位
- RS512:rsa512位
- ES256:dsa256位
- ES384:dsa384位
- ES512:dsa512位
提示:RSA和DSA是非对称加密方式,除了修改ALGO参数外,需要配置public_key和private_key两个参数。如果秘钥设置了密码,请配置好password参数。
使用方式
- builder方法,生成token字符串
$user = ['id' => 1]; $token = \leruge\facade\JWT::builder($user);
- validate方法,如果验证通过返回true,失败则抛出异常
\leruge\facade\JWT::validate();
- auth方法,返回一个对象,可以数组式访问,token有效时可以获取正常的数据,无效时获取的都是空
$user = \leruge\facade\JWT::auth(); $uid = $user->id; // $user['id'];
- 可以使用JWT中间件,如果验证成功就进行下一步,失败则返回
['code' => 0, 'msg' => '失败信息']
\leruge\middleware\JWT::class
传参方式
- 将token添加到header中,如下
Authorization:bearer token
值