diff --git a/src/addon/aikefu/api/controller/WebSocket.php b/src/addon/aikefu/api/controller/WebSocket.php index c7c1d5ec2..df5ec2e0d 100644 --- a/src/addon/aikefu/api/controller/WebSocket.php +++ b/src/addon/aikefu/api/controller/WebSocket.php @@ -165,6 +165,8 @@ class WebSocket extends WebSocketBase throw new \Exception('Missing authentication parameters'); } + $this->log('doAuth: ' . json_encode(['site_id' => $site_id, 'member_id' => $member_id, 'token' => $token]), 'info'); + // 生成与 BaseApi::checkToken 一致的解密 key:private_key + 'site' . site_id(如启用 API 私钥) $key = 'site' . $site_id; $api_model = new Api(); @@ -177,12 +179,15 @@ class WebSocket extends WebSocketBase ) { $key = $api_config['value']['private_key'] . $key; } + $this->log('key:' . $key, 'info'); $decrypt = decrypt($token, $key); if (empty($decrypt)) { throw new \Exception('TOKEN_ERROR'); } + $this->log('decrypt:' . $decrypt, 'info'); + $data = json_decode($decrypt, true); if (!is_array($data) || empty($data['member_id'])) { throw new \Exception('TOKEN_ERROR'); @@ -199,6 +204,8 @@ class WebSocket extends WebSocketBase throw new \Exception('TOKEN_EXPIRE'); } + $this->log('expire_time:' . $expire_time, 'info'); + // 与 BaseApi 行为一致:临近过期时生成 refresh_token 放入缓存(可选,不强制给客户端) if ($expire_time !== 0 && ($expire_time - time()) < 300 && !Cache::get('member_token' . $member_id)) { try { diff --git a/src/addon/aikefu/docs/ws_multi_addon_test.html b/src/addon/aikefu/docs/ws_multi_addon_test.html index 4505582e5..b91a00b19 100644 --- a/src/addon/aikefu/docs/ws_multi_addon_test.html +++ b/src/addon/aikefu/docs/ws_multi_addon_test.html @@ -117,7 +117,6 @@
-streamMsg: {{ streamMsg}}