Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Azure Entra

Leer hoe je LibreChat configureert om Azure Entra te gebruiken voor gebruikersauthenticatie.

  1. Ga naar de Azure Portal en meld je aan met je account.
  2. Typ "Azure Entra" in het zoekvak en klik erop.
  3. Klik in het linkermenu op App registrations en vervolgens op New registration.
  4. Geef je app een naam en selecteer Web als het platformtype.
  5. 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 instanties http://localhost:3080 door je publieke DOMAIN_SERVER-waarde, bijvoorbeeld https://chat.example.com/oauth/openid/callback.

image

  1. 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.

image

  1. Klik in het linkermenu op Authentication en vink de vakjes voor Access tokens en ID tokens aan onder Implicit grant and hybrid flows.

image

  1. 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!

image

  1. 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.

image

  1. 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=2000

De 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.

  1. Sla het .env bestand op

Let op: Als je Docker gebruikt, voer dan docker compose up -d uit 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

  1. Uw Azure-appregistratie moet beschikken over de juiste Microsoft Graph API-machtigingen
  2. Beheerdersinstemming kan vereist zijn voor bepaalde Graph API-scopes (zoals GroupMember.Read.All)

Graph API-machtigingen toevoegen

  1. Ga in je Azure-appregistratie naar API permissions
  2. Klik op Add a permission > Microsoft Graph > Delegated permissions
  3. Voeg deze permissies toe:
    • User.Read - Aanmelden en gebruikersprofiel lezen
    • People.Read - Gebruikerscontacten lezen
    • GroupMember.Read.All - Lees alle groepslidmaatschappen
    • User.ReadBasic.All - Lees alle basisprofielen van gebruikers
  4. 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=true

Zie 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.All

Wanneer 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_SCOPES worden automatisch toegevoegd aan je bestaande OPENID_SCOPE tijdens authenticatie.
  • Groepszoekopdrachten vereisen de GroupMember.Read.All permissie, waarvoor doorgaans toestemming van een beheerder vereist is.
  • Gebruikerszoekopdrachten werken met de basisrechten User.Read, People.Read en User.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

  1. Aan alle vereisten van Token Reuse moet worden voldaan
  2. Je Azure-appregistratie heeft aanvullende SharePoint-machtigingen nodig
  3. Uw Azure-appregistratie moet een LibreChat API-scope beschikbaar stellen en verlenen, zoals api://<client-id>/access_as_user

SharePoint-machtigingen toevoegen

  1. Ga in je Azure-appregistratie naar API permissions
  2. Klik op Add a permission

Voor SharePoint-toegang:

  1. Selecteer SharePoint (niet Microsoft Graph)
  2. Kies Delegated permissions
  3. Toevoegen: AllSites.Read - Items in alle siteverzamelingen lezen

Voor bestanddownloads:

  1. Klik nogmaals op Add a permission

  2. Selecteer Microsoft Graph

  3. Kies Delegated permissions

  4. Toevoegen: Files.Read.All - Lees alle bestanden waartoe de gebruiker toegang heeft

  5. 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.All

Gebruik

Indien correct geconfigureerd:

  1. Gebruikers zullen de optie "From SharePoint" zien in het menu voor bestandsbijlagen
  2. Als je hierop klikt, wordt de systeemeigen SharePoint-bestandsverkenner geopend
  3. Gebruikers kunnen bestanden doorzoeken en selecteren vanaf elke SharePoint-site of OneDrive waartoe zij toegang hebben
  4. 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?