含 AI 助手、抖音 OAuth、流量池推送、支付获客、SuperAdmin 设备与场景管理等本地迭代;以本地为准单向推送,未拉取远程。 Co-authored-by: Cursor <cursoragent@cursor.com>
33 lines
1010 B
PHP
33 lines
1010 B
PHP
<?php
|
||
namespace app\http\middleware;
|
||
|
||
use app\common\util\JwtUtil;
|
||
use think\facade\Log;
|
||
|
||
/**
|
||
* JWT认证中间件(http 命名空间,兼容生产路由解析 app\http\middleware\jwt)
|
||
*/
|
||
class jwt
|
||
{
|
||
public function handle($request, \Closure $next)
|
||
{
|
||
$token = JwtUtil::getRequestToken();
|
||
|
||
if (!$token) {
|
||
return json([
|
||
'code' => 401,
|
||
'msg' => '未授权访问,缺少有效的身份凭证',
|
||
'data' => null,
|
||
])->header(['Content-Type' => 'application/json; charset=utf-8']);
|
||
}
|
||
|
||
$payload = JwtUtil::verifyToken($token);
|
||
if (!$payload) {
|
||
return json([
|
||
'code' => 401,
|
||
'msg' => '授权已过期或无效',
|
||
'data' => null,
|
||
])->header(['Content-Type' => 'application/json; charset=utf-8']);
|
||
}
|
||
|
||
Log::info('JWT认证通过', ['user_id' => $payload['id'] ?? 0, 'username' => $payload['username'] ?? '']); |