tp5.1 使用Composer安装vendor扩展包firebase php-jwt token验证 API
PHP有很多jwt包,包括比如:lcobucci/jwt,我这里使用firebase。可以从 git地址 下载
一、首先安装Composer,已经安装就跳过
不会的看这里:https://blog.****.net/haibo0668/article/details/80435529
二、安装think-captcha验证码包
1、打开电脑CMD命令窗口,然后进入项目\vendor\topthink目录下,就可以运行命令
进入E盘方法:
composer require firebase/php-jwt
安装成功:\vendor\firebase
控制器引用:use \Firebase\JWT\JWT; //导入JWT
<?php
namespace app\api\controller\v1;
use \Firebase\JWT\JWT; //导入JWT
class Index extends Common{
public function index()
{
$key = '[email protected]_45'; //key
$time = time(); //当前时间
//公用信息
$token = [
'iss' => 'http://www.helloweba.net', //签发者 可选
'iat' => $time, //签发时间
'data' => [ //自定义信息,不要定义敏感信息
'userid' => 1,
]
];
$access_token = $token; // access_token
$access_token['scopes'] = 'role_access'; //token标识,请求接口的token
$access_token['exp'] = $time+7200; //access_token过期时间,这里设置2个小时
$refresh_token = $token; //refresh_token
$refresh_token['scopes'] = 'role_refresh'; //token标识,刷新access_token
$refresh_token['exp'] = $time+(86400 * 30); //refresh_token过期时间,这里设置30天
$jsonList = [
'access_token'=>JWT::encode($access_token,$key),
'refresh_token'=>JWT::encode($refresh_token,$key),
'token_type'=>'bearer' //token_type:表示令牌类型,该值大小写不敏感,这里用bearer
];
Header("HTTP/1.1 201 Created");
echo json_encode($jsonList); //返回给客户端token信息
}
}
使用Composer安装,会在\vendor\composer\installed.json中注册,会写入相关扩展包的信息
使用教程:http://blog.daozys.com/goods_90.html
重新安装
Composer安装vendor扩展包失败,只要删除源码包,然后重新安装就行,installed.json中注册信息会自动更新的