Auth0, LibreChat için bir OpenID Connect sağlayıcısı olarak kullanılabilir. Auth0'ı token yeniden kullanımı etkin (OPENID_REUSE_TOKENS=true) şekilde kullanırken, kimlik doğrulama sorunlarını önlemek için OPENID_AUDIENCE ortam değişkenini yapılandırmanız gerekir.
Auth0, üretim uygulamalarında http://localhost URL'lerine izin vermez. Yerel geliştirme/test işlemleri için HTTPS kullanmanız gerekecektir. Aşağıdaki gibi servisleri kullanabilirsiniz:
ngrok: ngrok http 3080 (localhost için HTTPS tüneli sağlar)
Caddy: Yerel HTTPS proxy sunucusu
localtunnel: ngrok'a benzer
ngrok ile örnek:
ngrok http 3080# This will give you a URL like: https://abc123.ngrok.io
Uygulamanızın Settings sekmesinde:
İzin Verilen Geri Çağırma URL'lerini (Allowed Callback URLs) ayarlayın:
Bu adım, OPENID_REUSE_TOKENS=true kullanılırken zorunludur. Bu adım olmadan Auth0, LibreChat tarafından doğrulanamayan opak (opaque) belirteçler döndürecek ve bu da sonsuz yenileme döngülerine neden olacaktır.
Auth0 Dashboard'a gidin → Applications → APIs
"API Oluştur"a tıklayın
API'yi yapılandırın:
Ad: LibreChat API (veya tercih ettiğiniz ad)
Tanımlayıcı: https://api.librechat.ai (veya tercih ettiğiniz tanımlayıcı)
Not: Bu sadece benzersiz bir tanımlayıcıdır, gerçek bir URL değildir. Erişilebilir olması gerekmez.
Yaygın modeller: https://api.yourdomain.com, https://librechat.yourdomain.com vb.
.env dosyanıza aşağıdaki ortam değişkenlerini ekleyin:
# 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# Maximum logout URL length before using logout_hint instead of id_token_hint (default: 2000)# OPENID_MAX_LOGOUT_URL_LENGTH=2000# 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, yetkilendirme isteklerine audience parametresini dahil eder ve virgülle ayrılmış birden fazla audience yapılandırıldığında boş olmayan ilk değeri kullanır.
Auth0 API tanımlayıcınız. OPENID_REUSE_TOKENS=true ile Auth0 kullanırken opak belirteç sorunlarını önlemek için gereklidir. JWT doğrulaması için virgülle ayrılmış değerler kabul edilir; yetkilendirme istekleri ilk boş olmayan değeri kullanır.