Experimentelle Funktionen#

Authentifizierung#

AutoGen Studio bietet eine experimentelle Authentifizierungsfunktion, um personalisierte Erlebnisse (mehrere Benutzer) zu ermöglichen. Derzeit wird nur die GitHub-Authentifizierung unterstützt. Sie können die Basis-Authentifizierungsklasse erweitern, um Unterstützung für andere Authentifizierungsmethoden hinzuzufügen.

Standardmäßig ist die Authentifizierung deaktiviert und wird nur aktiviert, wenn Sie beim Ausführen der Anwendung das Argument --auth-config übergeben.

GitHub-Authentifizierung aktivieren#

Um die GitHub-Authentifizierung zu aktivieren, erstellen Sie eine auth.yaml-Datei in Ihrem App-Verzeichnis

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"]

Hinweis

JWT-Geheimnis

  • Generieren Sie ein starkes, einzigartiges JWT-Geheimnis (mindestens 32 zufällige Bytes). Sie können openssl rand -hex 32 ausführen, um einen sicheren Zufallsschlüssel zu generieren.

  • Commiten Sie Ihr JWT-Geheimnis niemals in die Versionskontrolle

  • Speichern Sie Geheimnisse in der Produktion in Umgebungsvariablen oder sicheren Geheimnisverwaltungsdiensten

  • Rotieren Sie Ihr JWT-Geheimnis regelmäßig, um die Auswirkungen potenzieller Sicherheitsverletzungen zu begrenzen

Callback-URL

  • Die Callback-URL ist die URL, zu der GitHub den Benutzer nach der Authentifizierung weiterleitet. Sie muss mit der URL übereinstimmen, die Sie in Ihren GitHub OAuth-Anwendungseinstellungen festgelegt haben.

  • Stellen Sie sicher, dass die Callback-URL aus dem Internet erreichbar ist, wenn Sie AutoGen Studio auf einem Remote-Server ausführen.

Weitere Details zur Beschaffung von client_id und client_secret finden Sie in der Dokumentation zu GitHub OAuth.

Um diese Konfiguration zu übergeben, können Sie beim Ausführen der Anwendung das Argument --auth-config verwenden

autogenstudio ui --auth-config /path/to/auth.yaml

Oder setzen Sie die Umgebungsvariable

export AUTOGENSTUDIO_AUTH_CONFIG="/path/to/auth.yaml"

Hinweis

  • Die Authentifizierung ist derzeit experimentell und kann sich in zukünftigen Versionen ändern

  • Benutzerdaten werden in Ihrer konfigurierten Datenbank gespeichert

  • Wenn aktiviert, erfordern alle API-Endpunkte eine Authentifizierung, mit Ausnahme der Authentifizierungs-Endpunkte

  • WebSocket-Verbindungen erfordern, dass das Token als Abfrageparameter übergeben wird (?token=Ihr-jwt-token)