Azure Entra
Erfahren Sie, wie Sie LibreChat für die Benutzerauthentifizierung mit Azure Entra konfigurieren.
- Gehen Sie zum Azure Portal und melden Sie sich mit Ihrem Konto an.
- Geben Sie im Suchfeld „Azure Entra“ ein und klicken Sie darauf.
- Klicken Sie im linken Menü auf App registrations und dann auf New registration.
- Geben Sie Ihrer App einen Namen und wählen Sie Web als Plattformtyp aus.
- Geben Sie im Feld Redirect URI Ihre LibreChat OpenID-Callback-URL ein und klicken Sie auf Register. Verwenden Sie für lokale Docker-Installationen
http://localhost:3080/oauth/openid/callback. Ersetzen Sie bei bereitgestellten Instanzenhttp://localhost:3080durch Ihren öffentlichenDOMAIN_SERVER-Wert, zum Beispielhttps://chat.example.com/oauth/openid/callback.
- Sie sehen eine Übersichtsseite mit einigen Informationen zu Ihrer App. Kopieren Sie die Application (client) ID und die Directory (tenant) ID und speichern Sie diese an einem sicheren Ort.
- Klicken Sie im linken Menü auf Authentication und aktivieren Sie die Kontrollkästchen für Access tokens und ID tokens unter Implicit grant and hybrid flows.
- Klicken Sie im linken Menü auf Certificates & Secrets und dann auf New client secret. Geben Sie Ihrem Secret einen Namen sowie ein Ablaufdatum und klicken Sie auf Add. Sie sehen nun eine Spalte Value mit Ihrem Secret. Kopieren Sie es und speichern Sie es an einem sicheren Ort. Geben Sie es an niemanden weiter!
- If you want to restrict access by groups you should add the groups claim to the token. To do this, go to Token configuration and click on Add group claim. Select the groups you want to include in the token and click on Add.
- Öffnen Sie die .env Datei in Ihrem Projektordner und fügen Sie die folgenden Variablen mit den Werten hinzu, die Sie kopiert haben:
DOMAIN_CLIENT=https://your-domain.com # use http://localhost:3080 if not using a custom domain
DOMAIN_SERVER=https://your-domain.com # use http://localhost:3080 if not using a custom domain
# enable social login or else OpenID button will not appear on login page
ALLOW_SOCIAL_LOGIN=true
OPENID_CLIENT_ID=Your Application (client) ID
OPENID_CLIENT_SECRET=Your client secret
OPENID_ISSUER=https://login.microsoftonline.com/Your Directory (tenant ID)/v2.0/
OPENID_SESSION_SECRET=Any random string
OPENID_SCOPE=openid profile email #DO NOT CHANGE THIS
OPENID_CALLBACK_URL=/oauth/openid/callback # this should be the same for everyone
OPENID_REQUIRED_ROLE_TOKEN_KIND=id
# If you want to restrict access by groups
OPENID_REQUIRED_ROLE_PARAMETER_PATH="roles"
OPENID_REQUIRED_ROLE="Your Group Name" # Single role or comma-separated roles (e.g., Group1,Group2,Admin)
# Optional: redirects the user to the end session endpoint after logging out
OPENID_USE_END_SESSION_ENDPOINT=true
# Maximum logout URL length before using logout_hint instead of id_token_hint (default: 2000)
# OPENID_MAX_LOGOUT_URL_LENGTH=2000Die in Azure registrierte Redirect-URI muss exakt mit der URL übereinstimmen, unter der LibreChat bereitgestellt wird. Wenn DOMAIN_SERVER=https://chat.example.com gesetzt ist, sollte Azure https://chat.example.com/oauth/openid/callback verwenden.
- Speichern Sie die .env Datei
Hinweis: Wenn Sie Docker verwenden, führen Sie
docker compose up -daus, um die Konfigurationsänderungen in der .env anzuwenden.
Fortgeschritten: Token-Wiederverwendung
LibreChat unterstützt die Wiederverwendung von Azure Entra ID-Tokens für die Sitzungsverwaltung, was eine bessere Integration in Ihre Azure-Umgebung ermöglichen kann. Diese Funktion erlaubt es LibreChat, die Refresh-Tokens von Azure zu verwenden, anstatt eigene Sitzungstokens zu verwalten.
Um mehr über diese Funktion und deren Konfiguration zu erfahren, siehe Re-use OpenID Tokens for Login Session.
Fortgeschritten: Microsoft Graph API-Integration
Wenn Sie Azure Entra ID als Ihren OpenID-Anbieter verwenden, können Sie die Microsoft Graph API-Integration aktivieren, um das Berechtigungs- und Freigabesystem um Funktionen zur Suche nach Personen und Gruppen zu erweitern.
Voraussetzungen
- Ihre Azure-App-Registrierung muss über die entsprechenden Microsoft Graph API-Berechtigungen verfügen
- Für bestimmte Graph API Scopes (wie
GroupMember.Read.All) ist möglicherweise eine Administratorzustimmung erforderlich.
Hinzufügen von Graph API-Berechtigungen
- Gehen Sie in Ihrer Azure-App-Registrierung zu API permissions
- Klicken Sie auf Add a permission > Microsoft Graph > Delegated permissions
- Fügen Sie diese Berechtigungen hinzu:
User.Read- Anmelden und Benutzerprofil lesenPeople.Read- Benutzerkontakte lesenGroupMember.Read.All- Alle Gruppenmitgliedschaften lesenUser.ReadBasic.All- Alle Basisprofile von Benutzern lesen
- Klicken Sie auf Grant admin consent, falls erforderlich (Sie benötigen dazu Administratorrechte)
Konfiguration
Erforderlich: Token-Wiederverwendung aktivieren
Wichtig: Sie MÜSSEN die OpenID-Token-Wiederverwendung aktivieren, damit diese Funktion funktioniert:
OPENID_REUSE_TOKENS=trueSiehe Token Reuse Configuration oben für Details.
Fügen Sie die folgenden Umgebungsvariablen zu Ihrer .env Datei hinzu:
# Enable Entra ID people search in permissions/sharing
USE_ENTRA_ID_FOR_PEOPLE_SEARCH=true
# Include group owners as members when searching groups
ENTRA_ID_INCLUDE_OWNERS_AS_MEMBERS=true
# Microsoft Graph API scopes (these are automatically included with the OpenID scopes)
OPENID_GRAPH_SCOPES=User.Read,People.Read,GroupMember.Read.All,User.ReadBasic.AllWenn aktiviert, wird die Personenauswahl in den Dialogfeldern für Berechtigungen und Freigaben:
- Durchsuchen Sie sowohl lokale LibreChat-Benutzer als auch Azure Entra ID-Benutzer
- Benutzerprofile mit Namen und E-Mails aus Ihrer Organisation anzeigen
- Ermöglicht das Suchen und Auswählen von Azure Entra ID-Gruppen
- Gruppenmitglieder basierend auf Ihren Graph API-Berechtigungen anzeigen
Hinweise
- Token-Wiederverwendung (
OPENID_REUSE_TOKENS=true) ist zwingend erforderlich, damit diese Funktion funktioniert. - Die
OPENID_GRAPH_SCOPESwerden während der Authentifizierung automatisch an Ihren bestehendenOPENID_SCOPEangehängt. - Die Gruppensuche erfordert die Berechtigung
GroupMember.Read.All, für die in der Regel eine Administratorzustimmung erforderlich ist. - Die Benutzersuche funktioniert mit den grundlegenden Berechtigungen
User.Read,People.ReadundUser.ReadBasic.All
Fortgeschritten: SharePoint-Integration
LibreChat kann in SharePoint Online und OneDrive for Business integriert werden, wodurch Benutzer Dateien direkt aus ihren SharePoint-Bibliotheken durchsuchen und anhängen können.
Voraussetzungen
- Alle Anforderungen aus Token Reuse müssen erfüllt sein.
- Ihre Azure-App-Registrierung benötigt zusätzliche SharePoint-Berechtigungen
- Ihre Azure-App-Registrierung muss einen LibreChat-API-Bereich verfügbar machen und gewähren, wie zum Beispiel
api://<client-id>/access_as_user
Hinzufügen von SharePoint-Berechtigungen
- Gehen Sie in Ihrer Azure-App-Registrierung zu API permissions
- Klicken Sie auf Add a permission
Für SharePoint-Zugriff:
- Wählen Sie SharePoint (nicht Microsoft Graph)
- Wählen Sie Delegated permissions
- Hinzufügen:
AllSites.Read- Elemente in allen Websitesammlungen lesen
Für Dateidownloads:
-
Klicken Sie erneut auf Add a permission
-
Wählen Sie Microsoft Graph
-
Wählen Sie Delegated permissions
-
Hinzufügen:
Files.Read.All- Alle Dateien lesen, auf die der Benutzer zugreifen kann -
Klicken Sie für beide Berechtigungen auf Grant admin consent
Konfiguration
Bevor Sie die SharePoint-Variablen aktivieren, stellen Sie sicher, dass die Konfiguration zur Wiederverwendung des OpenID-Tokens den LibreChat App-API-Scope anfordert. Dies gibt Azure ein App-Audience-Zugriffstoken, das als „On-Behalf-Of“-Assertion für den SharePoint- und Graph-Token-Austausch verwendet werden kann.
# OpenID token reuse and OBO-compatible audience
OPENID_REUSE_TOKENS=true
OPENID_SCOPE=openid profile email offline_access api://<client-id>/access_as_user
OPENID_ON_BEHALF_FLOW_FOR_USERINFO_REQUIRED=true
# Enable SharePoint file picker
ENABLE_SHAREPOINT_FILEPICKER=true
# Your SharePoint tenant URL
SHAREPOINT_BASE_URL=https://yourtenant.sharepoint.com
# SharePoint scope for file picker (replace 'yourtenant' with your actual tenant)
SHAREPOINT_PICKER_SHAREPOINT_SCOPE=https://yourtenant.sharepoint.com/AllSites.Read
# Graph API scope for downloading files
SHAREPOINT_PICKER_GRAPH_SCOPE=Files.Read.AllVerwendung
Bei korrekter Konfiguration:
- Benutzer sehen die Option „From SharePoint“ im Dateianhang-Menü
- Ein Klick darauf öffnet die native SharePoint-Dateiauswahl
- Benutzer können Dateien von jeder SharePoint-Website oder jedem OneDrive, auf die sie Zugriff haben, durchsuchen und auswählen.
- Ausgewählte Dateien werden heruntergeladen und an die Konversation angehängt
Sicherheitshinweis
Die SharePoint-Integration respektiert alle bestehenden SharePoint-Berechtigungen. Benutzer können nur auf Dateien zugreifen, für die sie bereits in SharePoint/OneDrive eine Zugriffsberechtigung besitzen.
Für detaillierte Fehlerbehebung und fortgeschrittene Konfiguration siehe: SharePoint Integration Guide
Wie finden Sie diese Anleitung?