实验性功能#
认证机制#
AutoGen Studio 提供实验性的认证功能,以实现个性化体验(多用户支持)。目前仅支持 GitHub 认证。您可以通过扩展基础认证类来添加其他认证方式。
默认情况下认证功能处于禁用状态,只有在运行应用时传入 --auth-config
参数才会启用。
启用 GitHub 认证#
要启用 GitHub 认证,请在应用目录下创建 auth.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"]
备注
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
或设置环境变量:
export AUTOGENSTUDIO_AUTH_CONFIG="/path/to/auth.yaml"
备注
认证功能目前处于实验阶段,后续版本可能有所变更
用户数据将存储于您配置的数据库中
启用后,除认证接口外所有API端点均需认证
WebSocket连接需通过查询参数传递token(格式为
?token=your-jwt-token
)