Files
x-server-mobile/backend/app/middleware/AuthMiddleware.php
T

36 lines
879 B
PHP
Raw Normal View History

<?php
namespace app\middleware;
use app\util\JwtUtil;
use Webman\Http\Request;
use Webman\Http\Response;
use support\Log;
class AuthMiddleware
{
public function process(Request $request, callable $handler): Response
{
// 获取 Token
$token = $request->header('Authorization');
$token = str_replace('Bearer ', '', $token);
if (!$token || !JwtUtil::verify($token)) {
return json([
'code' => 401,
'message' => 'Unauthorized',
'data' => null,
], 401);
}
// 解析 Token 并设置用户信息到请求
$payload = JwtUtil::decode($token);
if ($payload) {
$request->userId = $payload['user_id'] ?? null;
$request->companyId = $payload['company_id'] ?? null;
}
return $handler($request);
}
}