装算法库
composer require firebase/php-jwt
配置密钥
config/autoload/jwt.php
declare(strict_types=1);
return [
'secret' => env('JWT_SECRET', 'hyperf-very-secret-key-change-me'),
];
.env 里加一行(可选但推荐):
JWT_SECRET=your-random-32-char-string
app/Middleware/JwtMiddleware.php
app/Controller/AuthController.php
config/autoload/middlewares.php
declare(strict_types=1);
return [
'http' => [
AppMiddlewareJwtMiddleware::class,
],
];
所有/api/*请求都会经过 JWT 校验
/auth/login、/auth/refresh 白名单放行
config/autoload/jwt.php
declare(strict_types=1);
return [
'secret' => env('JWT_SECRET', 'hyperf-very-secret-key-change-me'),
];
.env
JWT_SECRET=your-random-32-char-string
测试流程(验证是否稳)
# 登录
curl -X POST http://127.0.0.1:9501/auth/login
# 访问受保护接口(不带 token)
curl http://127.0.0.1:9501/user/info
# → 401
# 带 token
curl -H "Authorization: Bearer xxx" http://127.0.0.1:9501/user/info
# → 200
test2026-07-31 17:11
