在这里 没有废话,直接教你方法。
后期前端 拿JWT的 token 调用接口
我们 这样 app()->user 就可以获取到用户的信息
JWT的安装
composer require firebase/php-jwt
JWT安装完事 建个中间件
php think make:middleware AdminAuth
AdminAuth 起你 想起的 名字 就OK 叫什么都行。 下面是 我的逻辑 与JWT 验证 还有 app()->user 注入 获取用户信息
use app\common\library\Auth;
use Firebase\JWT\JWT;
use think\exception\HttpException;
class AdminAuth
{
public function handle($request, \Closure $next)
{
// JWT 验证登录
$auth = Auth::instance();
$jwt = substr($request->header('Authorization'), 7);
$user = null;
try {
$jwt = (array)JWT::decode($jwt, env('APP_SECRET'), ['HS256']);
if ($jwt && $jwt['exp'] > time()) {
$user = $auth->user($jwt);
}
} catch (\Exception $e) {
$jwt = null;
}
//注入用户
app()->auth = $auth;
app()->user = $user;
//检查访问权限
if (!$auth->checkPublicUrl()) {
if (empty($jwt)) {
throw new HttpException(401, '未授权访问');
}
if (!$user) {
throw new HttpExcep