实验性功能#
身份验证#
AutoGen Studio 提供了一个实验性的身份验证功能,以实现个性化体验(多用户)。目前,仅支持 GitHub 身份验证。您可以扩展基础身份验证类以添加对其他身份验证方法的支持。
默认情况下,身份验证是禁用的,仅当您在运行应用程序时传入 --auth-config 参数时才启用。
启用 GitHub 身份验证#
要启用 GitHub 身份验证,请在您的应用目录中创建一个 auth.yaml 文件
type: github
jwt_secret: "your-secret-key" # keep secure!
token_expiry_minutes: 60
github:
client_id: "your-github-client-id"
client_secret: "your-github-client-secret"
callback_url: "https://:8081/api/auth/callback"
scopes: ["user:email"]
注意
JWT 密钥
生成一个强大、唯一的 JWT 密钥(至少 32 个随机字节)。您可以运行
openssl rand -hex 32来生成一个安全的随机密钥。切勿将您的 JWT 密钥提交到版本控制
在生产环境中,将密钥存储在环境变量或安全的密钥管理服务中
定期轮换您的 JWT 密钥,以限制潜在泄露的影响
回调 URL
回调 URL 是用户完成身份验证后 GitHub 将重定向到的 URL。它应与您在 GitHub OAuth 应用程序设置中设置的 URL 匹配。
如果您在远程服务器上运行 AutoGen Studio,请确保回调 URL 可以从互联网访问。
有关获取 client_id 和 client_secret 的更多详细信息,请参阅 GitHub OAuth 文档。
要在运行应用程序时传入此配置,您可以使用 --auth-config 参数
autogenstudio ui --auth-config /path/to/auth.yaml
或设置环境变量
export AUTOGENSTUDIO_AUTH_CONFIG="/path/to/auth.yaml"
注意
身份验证目前处于实验阶段,未来版本可能会有所更改
用户数据存储在您配置的数据库中
启用后,除了身份验证端点之外,所有 API 端点都需要身份验证
WebSocket 连接需要将令牌作为查询参数传递(
?token=your-jwt-token)