实验性功能#

身份验证#

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_idclient_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