Auth0 kann als OpenID Connect-Anbieter für LibreChat verwendet werden. Wenn Sie Auth0 mit aktivierter Token-Wiederverwendung (OPENID_REUSE_TOKENS=true) nutzen, müssen Sie die Umgebungsvariable OPENID_AUDIENCE konfigurieren, um Authentifizierungsprobleme zu vermeiden.
Auth0 erlaubt keine http://localhost-URLs in Produktionsanwendungen. Für die lokale Entwicklung/Tests müssen Sie HTTPS verwenden. Sie können Dienste nutzen wie:
ngrok: ngrok http 3080 (stellt einen HTTPS-Tunnel zu localhost bereit)
Caddy: Lokaler HTTPS-Proxy-Server
localtunnel: Ähnlich wie ngrok
Beispiel mit ngrok:
ngrok http 3080# This will give you a URL like: https://abc123.ngrok.io
In der Einstellungen-Registerkarte Ihrer Anwendung:
Dieser Schritt ist erforderlich, wenn OPENID_REUSE_TOKENS=true verwendet wird. Ohne diesen Schritt gibt Auth0 opake Tokens zurück, die von LibreChat nicht validiert werden können, was zu endlosen Refresh-Schleifen führt.
Gehe zum Auth0 Dashboard → Applications → APIs
Klicken Sie auf "Create API"
Konfigurieren der API:
Name: LibreChat API (oder Ihr bevorzugter Name)
Identifier: https://api.librechat.ai (oder Ihr bevorzugter Identifier)
Hinweis: Dies ist lediglich ein eindeutiger Bezeichner, keine tatsächliche URL. Er muss nicht aufrufbar sein.
Fügen Sie die folgenden Umgebungsvariablen zu Ihrer .env Datei hinzu:
# OpenID Connect Configuration# Domain from Basic Information (add https:// prefix)OPENID_ISSUER=https://dev-abc123.us.auth0.com# Client ID from Basic InformationOPENID_CLIENT_ID=your_long_alphanumeric_client_id# Client Secret from Basic Information (click to reveal)OPENID_CLIENT_SECRET=your_client_secret_from_basic_information# Callback URL (must match what's configured in Auth0)OPENID_CALLBACK_URL=/oauth/openid/callback# Token ConfigurationOPENID_REUSE_TOKENS=trueOPENID_SCOPE=openid profile email offline_access# IMPORTANT: Your Auth0 API identifier (from Step 3)OPENID_AUDIENCE=https://api.librechat.ai# Security Settings (recommended)OPENID_USE_PKCE=true# Session Configuration (generate a secure random string)OPENID_SESSION_SECRET=your-secure-session-secret-32-chars-or-more# Optional: Custom button appearanceOPENID_BUTTON_LABEL=Continue with Auth0# OPENID_IMAGE_URL=https://path-to-auth0-logo.png# If using ngrok for testing, also update:# DOMAIN_CLIENT=https://your-domain.ngrok.io# DOMAIN_SERVER=https://your-domain.ngrok.io
LibreChat enthält den audience-Parameter in Autorisierungsanfragen und verwendet den ersten nicht leeren Wert, wenn mehrere durch Kommas getrennte Audiences konfiguriert sind.
Auth0 erkennt die Audience als registrierte API an
Auth0 stellt JWT-Zugriffstoken aus, die validiert werden können
LibreChat validiert Token erfolgreich und die Authentifizierung funktioniert ordnungsgemäß
Der Bezeichner Ihrer Auth0 API. Erforderlich bei der Verwendung von OPENID_REUSE_TOKENS=true mit Auth0, um Probleme mit opaken Tokens zu vermeiden. Kommagetrennte Werte werden für die JWT-Validierung akzeptiert; Autorisierungsanfragen verwenden den ersten nicht leeren Wert.