fix: 修复飞书扫码登录 404 问题
1. 后端路由修正
- 将 /login/qrcode/{id} 移出 /api/v1 路由组
- 修正路由参数获取方式,使用参数注入而非 getRouteParam()
2. OpenResty 配置
- 添加 /login/qrcode/ 路径代理到后端
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -216,9 +216,9 @@ class AuthController extends BaseController
|
||||
/**
|
||||
* 飞书扫码登录回调(飞书授权后的回调)
|
||||
*/
|
||||
public function qrcodeLoginCallback(Request $request): Response
|
||||
public function qrcodeLoginCallback(Request $request, $id = null): Response
|
||||
{
|
||||
$sessionId = $this->getRouteParam($request, 'id');
|
||||
$sessionId = $id;
|
||||
$authCode = $request->get('auth_code');
|
||||
|
||||
if (!$sessionId) {
|
||||
|
||||
@@ -12,9 +12,11 @@ Route::group('/api/v1', function () {
|
||||
Route::post('/auth/feishu-login', [app\controller\AuthController::class, 'feishuLogin']);
|
||||
Route::post('/auth/qrcode-login', [app\controller\AuthController::class, 'qrcodeLogin']);
|
||||
Route::get('/auth/qrcode-login/status', [app\controller\AuthController::class, 'qrcodeLoginStatus']);
|
||||
Route::get('/login/qrcode/{id}', [app\controller\AuthController::class, 'qrcodeLoginCallback']);
|
||||
})->middleware($apiMiddleware);
|
||||
|
||||
// 飞书登录回调(不在 /api/v1 下,供飞书重定向使用)
|
||||
Route::get('/login/qrcode/{id}', [app\controller\AuthController::class, 'qrcodeLoginCallback'])->middleware($apiMiddleware);
|
||||
|
||||
// 用户路由(需要认证)
|
||||
Route::group('/api/v1/user', function () {
|
||||
Route::get('/info', [app\controller\UserController::class, 'info']);
|
||||
|
||||
@@ -28,6 +28,22 @@ server {
|
||||
proxy_read_timeout 60s;
|
||||
}
|
||||
|
||||
# 飞书登录回调代理
|
||||
location /login/qrcode/ {
|
||||
proxy_pass http://127.0.0.1:8787/login/qrcode/;
|
||||
proxy_http_version 1.1;
|
||||
|
||||
# 传递真实IP
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
|
||||
# 超时设置
|
||||
proxy_connect_timeout 60s;
|
||||
proxy_send_timeout 60s;
|
||||
proxy_read_timeout 60s;
|
||||
}
|
||||
|
||||
# 健康检查端点
|
||||
location /health {
|
||||
access_log off;
|
||||
|
||||
Reference in New Issue
Block a user