# JWT插件
composer 安装
~~~
composer require firebase/php-jwt
~~~
# 用法
~~~
use \Firebase\JWT\JWT;
$key = "example_key";
$token = array(
//"iss" => "http://example.org",
// "aud" => "http://example.com",
"iat" => 1356999524,//可以是time()时间戳
"nbf" => 1357000000//可以是time()时间戳
);
$jwt = JWT::encode($token, $key);
$decoded = JWT::decode($jwt, $key, array('HS256'));
print_r($decoded);
$decoded_array = (array) $decoded;
JWT::$leeway = 60; // $leeway in seconds
$decoded = JWT::decode($jwt, $key, array('HS256'));
~~~
## 补充捕获异常
~~~
try {
$arr = $jwt::decode($token, $key, array('HS256'));
} catch (\Exception $e) { // token验证失败
return json(['code' => 0, 'msg' => $e->getMessage()],400)->send();
}catch (ExpiredException $e){ // 过期
return json(['code' => 0, 'msg' => $e->getMessage()],400)->send();
}
~~~
## 实例
~~~
class Base extends Common
{
public function index(Request $request){
$data['username'] = $request->param('username');
//验证数据
//查询数据库
$info = SystemUser::where('id','=','1')->find();
//比对密码
//返回token
$key = 'asdfhjkl';
$payload=[
'iat'=>time(),
'nbf'=>time(),
'userinfo'=>[
'uid'=>$info['id'],
'name'=>$info['username'],
]
];
$jwt = JWT::encode($payload,$key);
$decoded = JWT::decode($jwt, $key, array('HS256'));
return json(['code'=>'1','token'=>$decoded,'msg'=>'成功'])->send();
}
}
~~~
- tp5图片上传
- 文件上传到七牛云
- 上传到阿里云
- 富文本编辑器
- phpexcel和spreadsheet
- phpexcel导出
- phpexcel导入
- spreadsheet
- tp5_api接口
- 跨域请求
- JWT
- 图片和视频上传接口
- 验证码
- tp5小程序登录
- tp5小程序支付
- tp5基础架构
- 验证层
- 模型层Model
- 控制器构找
- tp5.0支付宝
- 海报二维码
- 轮播图
- echarts柱状图
- layui的图片弹窗
- p标签显示指定行数(全部)
- jquery和layerdate调用日期
- ajax发送文件和图片的坑啊
- JS日期点击上一天和下一天
- 百度分享js
- POST请求
- 商品数据表
- tp5.0支付宝最全
- tp5路由的坑
- 二维数组排序
- tp5模型分组group错误
- 二维变一维数组
- 无限树形结构
- json对象转数组
- 模型关联查询
- tp5的模型获取器和字段设定
- 经纬度获取距离排序