/** * C-03: 多实例 HTTP API 认证 * * 在机器级注册目录 (~/.godot-mcp/) 下维护一个共享 API secret。 * sendToInstance 请求携带 HMAC 签名,服务端可使用同一 secret 验证。 * * 安全模型: * - secret 文件权限收紧 (0600 / icacls) * - HMAC 签名包含 instance.id + timestamp,防重放 * - 仅限 localhost 通信 (127.0.0.1) * * I-6 状态(2026-08-10 行225 闭环,MULTI_INSTANCE 默认关闭): * sendToInstance / dynamicSenders 发送端完整且有测试(instance-router.test.ts / * phase2-acceptance.test.ts)。接收端 HTTP /api/ server 在 instance-http-server.ts * 实现,GodotServer.initMultiInstance 启动时接线 verifyApiToken(HMAC 闭环)。 * verifyApiToken 现经 InstanceHttpServer.handleRequest 调用(入口验签), * 仍由 instance-api-auth.test.ts 覆盖单元测试 + instance-http-server.test.ts 覆盖集成测试。 */ /** 读取或创建共享 API secret */ export declare function getOrCreateApiSecret(): string; /** * 生成认证令牌 — HMAC(instance.id:timestamp:nonce, secret) * 格式: `{timestamp}.{nonce}.{hmacHex}` */ export declare function generateApiToken(instanceId: string): string; /** * 验证认证令牌。返回 true 表示有效。 * 支持旧格式(无 nonce)和新格式(含 nonce + 防重放)。 */ export declare function verifyApiToken(instanceId: string, token: string): boolean; /** 构建带认证头的 headers 对象 */ export declare function buildAuthHeaders(instanceId: string): Record; /** 清除缓存的 secret 和 nonce 记录(测试用) */ export declare function clearCachedSecret(): void;