--- myst: html_meta: "description lang=zh-CN": | AutoGen Studio 常见问题解答 - 用于构建和调试多agent系统的低代码工具 --- # 实验性功能 ## 认证机制 AutoGen Studio 提供实验性的认证功能,以实现个性化体验(多用户支持)。目前仅支持 GitHub 认证。您可以通过扩展基础认证类来添加其他认证方式。 默认情况下认证功能处于禁用状态,只有在运行应用时传入 `--auth-config` 参数才会启用。 ### 启用 GitHub 认证 要启用 GitHub 认证,请在应用目录下创建 `auth.yaml` 文件: ```yaml type: github jwt_secret: "your-secret-key" # 请妥善保管! token_expiry_minutes: 60 github: client_id: "your-github-client-id" client_secret: "your-github-client-secret" callback_url: "http://localhost:8081/api/auth/callback" scopes: ["user:email"] ``` ```{note} **JWT 密钥安全须知** - 生成强且唯一的 JWT 密钥(至少 32 个随机字节)。可运行 `openssl rand -hex 32` 生成安全随机密钥 - 切勿将 JWT 密钥提交至版本控制系统 - 生产环境中,应将密钥存储在环境变量或专业密钥管理服务中 - 定期轮换 JWT 密钥以降低潜在泄露风险 ``` **回调URL** - 回调URL是用户完成认证后GitHub将重定向至的URL。该URL必须与您在GitHub OAuth应用设置中配置的URL完全匹配。 - 如果您在远程服务器上运行AutoGen Studio,请确保回调URL可通过互联网访问。 ``` 有关获取`client_id`和`client_secret`的更多详情,请参阅[GitHub OAuth文档](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/authenticating-to-the-rest-api-with-an-oauth-app)。 您可以通过以下方式传入此配置: 运行应用时使用`--auth-config`参数: ```bash autogenstudio ui --auth-config /path/to/auth.yaml ``` 或设置环境变量: ```bash export AUTOGENSTUDIO_AUTH_CONFIG="/path/to/auth.yaml" ``` ```{note} - 认证功能目前处于实验阶段,后续版本可能有所变更 - 用户数据将存储于您配置的数据库中 - 启用后,除认证接口外所有API端点均需认证 - WebSocket连接需通过查询参数传递token(格式为`?token=your-jwt-token`) ```