---
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`)
```