Files
sentos/app/middleware/ApiCheck.php
2023-10-21 21:18:46 +08:00

48 lines
1.3 KiB
PHP

<?php
// +----------------------------------------------------------------------
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
// +----------------------------------------------------------------------
declare (strict_types = 1);
namespace app\middleware;
use think\App;
use think\Response;
use leruge\exception\JWTTokenNotFoundException;
class ApiCheck{
protected $app;
public function __construct(App $app){
$this->app = $app;
}
/**
* @title 处理请求
*
* @param [type] $request
* @param \Closure $next
* @param [type] $store
* @return void
*/
public function handle($request, \Closure $next, $store = null){
try {
$verify = \leruge\facade\JWT::validate();;
if (true === $verify) {
$student = \leruge\facade\JWT::auth();
if ($student->id) {
// 路由注入
$request->student = $student;
}
return $next($request);
}
} catch (JWTTokenNotFoundException $e) {
return Response::create(['message' => '未登录或登录过期!', 'code' => 2000], 'json', 401);
}
}
}