实验性功能#
身份验证#
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: "http://localhost: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,请确保可以从 Internet 访问回调 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
)