Azure Entra
Leer hoe je LibreChat configureert om Azure Entra te gebruiken voor gebruikersauthenticatie.
- Ga naar de Azure Portal en meld je aan met je account.
- Typ "Azure Entra" in het zoekvak en klik erop.
- Klik in het linkermenu op App registrations en vervolgens op New registration.
- Geef je app een naam en selecteer Web als het platformtype.
- Voer in het veld Redirect URI je LibreChat OpenID callback-URL in en klik op Register. Gebruik voor lokale Docker-installaties
http://localhost:3080/oauth/openid/callback. Vervang voor geïmplementeerde instantieshttp://localhost:3080door je publiekeDOMAIN_SERVER-waarde, bijvoorbeeldhttps://chat.example.com/oauth/openid/callback.
- Je ziet een Overzichtspagina met wat informatie over je app. Kopieer de Application (client) ID en de Directory (tenant) ID en sla deze ergens op.
- Klik in het linkermenu op Authentication en vink de vakjes voor Access tokens en ID tokens aan onder Implicit grant and hybrid flows.
- Klik in het linkermenu op Certificates & Secrets en vervolgens op New client secret. Geef je secret een naam en een vervaldatum en klik op Add. Je ziet een Value-kolom met je secret. Kopieer deze en sla deze ergens op. Deel deze met niemand!
- Als je de toegang per groep wilt beperken, moet je de groups claim toevoegen aan het token. Ga hiervoor naar Token configuration en klik op Add group claim. Selecteer de groepen die je in het token wilt opnemen en klik op Add.
- Open het .env bestand in je projectmap en voeg de volgende variabelen toe met de waarden die je hebt gekopieerd:
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=2000De redirect URI die in Azure is geregistreerd, moet exact overeenkomen met de URL die LibreChat gebruikt. Als DOMAIN_SERVER=https://chat.example.com, dan moet Azure https://chat.example.com/oauth/openid/callback gebruiken.
- Sla het .env bestand op
Let op: Als je Docker gebruikt, voer dan
docker compose up -duit om de wijzigingen in de .env configuratie toe te passen.
Geavanceerd: Tokenhergebruik
LibreChat ondersteunt het hergebruik van Azure Entra ID-tokens voor sessiebeheer, wat kan zorgen voor een betere integratie met uw Azure-omgeving. Deze functie stelt LibreChat in staat om Azure's refresh tokens te gebruiken in plaats van zijn eigen sessietokens te beheren.
Voor meer informatie over deze functie en hoe je deze configureert, zie Re-use OpenID Tokens for Login Session.
Geavanceerd: Microsoft Graph API-integratie
Wanneer je Azure Entra ID gebruikt als je OpenID-provider, kun je Microsoft Graph API-integratie inschakelen om het systeem voor rechten en delen te verbeteren met zoekmogelijkheden voor personen en groepen.
Vereisten
- Uw Azure-appregistratie moet beschikken over de juiste Microsoft Graph API-machtigingen
- Beheerdersinstemming kan vereist zijn voor bepaalde Graph API-scopes (zoals
GroupMember.Read.All)
Graph API-machtigingen toevoegen
- Ga in je Azure-appregistratie naar API permissions
- Klik op Add a permission > Microsoft Graph > Delegated permissions
- Voeg deze permissies toe:
User.Read- Aanmelden en gebruikersprofiel lezenPeople.Read- Gebruikerscontacten lezenGroupMember.Read.All- Lees alle groepslidmaatschappenUser.ReadBasic.All- Lees alle basisprofielen van gebruikers
- Klik op Grant admin consent indien vereist (je hebt hiervoor beheerdersrechten nodig)
Configuratie
Vereist: Tokenhergebruik inschakelen
Belangrijk: Je MOET OpenID tokenhergebruik inschakelen om deze functie te laten werken:
OPENID_REUSE_TOKENS=trueZie Token Reuse Configuration hierboven voor details.
Voeg de volgende omgevingsvariabelen toe aan je .env bestand:
# 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.AllWanneer ingeschakeld, zal de personenkiezer in de dialoogvensters voor machtigingen en delen:
- Doorzoek zowel lokale LibreChat-gebruikers als Azure Entra ID-gebruikers
- Toon gebruikersprofielen met namen en e-mailadressen van uw organisatie
- Toestaan van het zoeken naar en selecteren van Azure Entra ID-groepen
- Toon groepsleden op basis van uw Graph API-rechten
Opmerkingen
- Token reuse (
OPENID_REUSE_TOKENS=true) is verplicht om deze functie te laten werken - De
OPENID_GRAPH_SCOPESworden automatisch toegevoegd aan je bestaandeOPENID_SCOPEtijdens authenticatie. - Groepszoekopdrachten vereisen de
GroupMember.Read.Allpermissie, waarvoor doorgaans toestemming van een beheerder vereist is. - Gebruikerszoekopdrachten werken met de basisrechten
User.Read,People.ReadenUser.ReadBasic.All
Geavanceerd: SharePoint-integratie
LibreChat kan worden geïntegreerd met SharePoint Online en OneDrive for Business, waardoor gebruikers direct bestanden kunnen bladeren en bijvoegen vanuit hun SharePoint-bibliotheken.
Vereisten
- Aan alle vereisten van Token Reuse moet worden voldaan
- Je Azure-appregistratie heeft aanvullende SharePoint-machtigingen nodig
- Uw Azure-appregistratie moet een LibreChat API-scope beschikbaar stellen en verlenen, zoals
api://<client-id>/access_as_user
SharePoint-machtigingen toevoegen
- Ga in je Azure-appregistratie naar API permissions
- Klik op Add a permission
Voor SharePoint-toegang:
- Selecteer SharePoint (niet Microsoft Graph)
- Kies Delegated permissions
- Toevoegen:
AllSites.Read- Items in alle siteverzamelingen lezen
Voor bestanddownloads:
-
Klik nogmaals op Add a permission
-
Selecteer Microsoft Graph
-
Kies Delegated permissions
-
Toevoegen:
Files.Read.All- Lees alle bestanden waartoe de gebruiker toegang heeft -
Klik op Grant admin consent voor beide machtigingen
Configuratie
Voordat je de SharePoint-variabelen inschakelt, moet je ervoor zorgen dat de configuratie voor het hergebruik van het OpenID-token de LibreChat app API-scope aanvraagt. Dit geeft Azure een app-audience toegangstoken dat kan worden gebruikt als de on-behalf-of assertion voor SharePoint- en Graph-tokenuitwisseling.
# 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.AllGebruik
Indien correct geconfigureerd:
- Gebruikers zullen de optie "From SharePoint" zien in het menu voor bestandsbijlagen
- Als je hierop klikt, wordt de systeemeigen SharePoint-bestandsverkenner geopend
- Gebruikers kunnen bestanden doorzoeken en selecteren vanaf elke SharePoint-site of OneDrive waartoe zij toegang hebben
- Geselecteerde bestanden worden gedownload en toegevoegd aan het gesprek
Beveiligingsopmerking
De SharePoint-integratie respecteert alle bestaande SharePoint-machtigingen. Gebruikers hebben alleen toegang tot bestanden die ze al mogen bekijken in SharePoint/OneDrive.
Voor gedetailleerde probleemoplossing en geavanceerde configuratie, zie: SharePoint Integration Guide
Hoe is deze gids?