Azure Entra
Scopri come configurare LibreChat per utilizzare Azure Entra per l'autenticazione degli utenti.
- Vai al Azure Portal e accedi con il tuo account.
- Nella casella di ricerca, digita "Azure Entra" e cliccaci sopra.
- Nel menu a sinistra, fai clic su App registrations e poi su New registration.
- Dai un nome alla tua app e seleziona Web come tipo di piattaforma.
- Nel campo Redirect URI, inserisci l'URL di callback OpenID di LibreChat e clicca su Register. Per installazioni Docker locali, utilizza
http://localhost:3080/oauth/openid/callback. Per le istanze distribuite, sostituiscihttp://localhost:3080con il valore del tuoDOMAIN_SERVERpubblico, ad esempiohttps://chat.example.com/oauth/openid/callback.
- Vedrai una pagina Panoramica con alcune informazioni sulla tua app. Copia l'ID applicazione (client) e l'ID directory (tenant) e salvali da qualche parte.
- Nel menu a sinistra, clicca su Authentication e seleziona le caselle per Access tokens e ID tokens sotto Implicit grant and hybrid flows.
- Nel menu a sinistra, fai clic su Certificates & Secrets e poi su New client secret. Dai al tuo secret un nome e una data di scadenza e fai clic su Add. Vedrai una colonna Value con il tuo secret. Copialo e salvalo in un posto sicuro. Non condividerlo con nessuno!
- Se desideri limitare l'accesso per gruppi, dovresti aggiungere la claim groups al token. Per farlo, vai su Token configuration e clicca su Add group claim. Seleziona i gruppi che desideri includere nel token e clicca su Add.
- Apri il file .env nella cartella del tuo progetto e aggiungi le seguenti variabili con i valori che hai copiato:
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=2000L'URI di reindirizzamento registrato in Azure deve corrispondere esattamente all'URL servito da LibreChat. Se DOMAIN_SERVER=https://chat.example.com, Azure dovrebbe utilizzare https://chat.example.com/oauth/openid/callback.
- Salva il file .env
Nota: Se si utilizza Docker, eseguire
docker compose up -dper applicare le modifiche alla configurazione nel file .env
Avanzato: Riutilizzo dei Token
LibreChat supporta il riutilizzo dei token Azure Entra ID per la gestione delle sessioni, il che può fornire una migliore integrazione con il tuo ambiente Azure. Questa funzionalità consente a LibreChat di utilizzare i token di aggiornamento (refresh token) di Azure invece di gestire i propri token di sessione.
Per saperne di più su questa funzionalità e su come configurarla, consulta Re-use OpenID Tokens for Login Session.
Avanzato: Integrazione Microsoft Graph API
Quando utilizzi Azure Entra ID come tuo provider OpenID, puoi abilitare l'integrazione con Microsoft Graph API per migliorare il sistema di permessi e condivisione con funzionalità di ricerca di persone e gruppi.
Prerequisiti
- La tua registrazione dell'app Azure deve disporre delle autorizzazioni Microsoft Graph API appropriate
- Il consenso dell'amministratore potrebbe essere richiesto per determinati ambiti (scope) della Graph API (come
GroupMember.Read.All)
Aggiunta delle autorizzazioni Graph API
- Nella registrazione della tua app Azure, vai su API permissions
- Fai clic su Add a permission > Microsoft Graph > Delegated permissions
- Aggiungi queste autorizzazioni:
User.Read- Accedi e leggi il profilo utentePeople.Read- Leggi i contatti dell'utenteGroupMember.Read.All- Leggi tutte le appartenenze ai gruppiUser.ReadBasic.All- Leggi i profili di base di tutti gli utenti
- Fai clic su Grant admin consent se richiesto (avrai bisogno dei privilegi di amministratore)
Configurazione
Obbligatorio: Abilita il riutilizzo dei token
Importante: Devi abilitare il riutilizzo del token OpenID affinché questa funzionalità funzioni:
OPENID_REUSE_TOKENS=trueVedi Token Reuse Configuration sopra per i dettagli.
Aggiungi le seguenti variabili d'ambiente al tuo file .env:
# 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.AllQuando abilitato, il selettore di persone nelle finestre di dialogo di autorizzazioni e condivisione:
- Cerca sia tra gli utenti locali di LibreChat che tra gli utenti di Azure Entra ID
- Visualizza i profili utente con nomi ed email dalla tua organizzazione
- Consenti la ricerca e la selezione di gruppi Azure Entra ID
- Mostra i membri del gruppo in base alle tue autorizzazioni Graph API
Note
- Il riutilizzo dei token (
OPENID_REUSE_TOKENS=true) è obbligatorio affinché questa funzionalità funzioni - Gli
OPENID_GRAPH_SCOPESvengono aggiunti automaticamente al tuoOPENID_SCOPEesistente durante l'autenticazione. - La ricerca di gruppo richiede l'autorizzazione
GroupMember.Read.All, che solitamente necessita del consenso dell'amministratore. - La ricerca utente funziona con le autorizzazioni di base
User.Read,People.ReadeUser.ReadBasic.All
Avanzato: Integrazione SharePoint
LibreChat può integrarsi con SharePoint Online e OneDrive for Business, consentendo agli utenti di sfogliare e allegare file direttamente dalle proprie raccolte SharePoint.
Prerequisiti
- Tutti i requisiti da Token Reuse devono essere soddisfatti
- La tua registrazione dell'app Azure necessita di autorizzazioni SharePoint aggiuntive
- La tua registrazione dell'app Azure deve esporre e concedere uno scope API di LibreChat, come
api://<client-id>/access_as_user
Aggiunta delle autorizzazioni SharePoint
- Nella registrazione della tua app Azure, vai su API permissions
- Fai clic su Add a permission
Per l'accesso a SharePoint:
- Seleziona SharePoint (non Microsoft Graph)
- Scegli Delegated permissions
- Aggiungi:
AllSites.Read- Leggi elementi in tutte le raccolte siti
Per i download di file:
-
Fai di nuovo clic su Add a permission
-
Seleziona Microsoft Graph
-
Scegli Delegated permissions
-
Aggiungi:
Files.Read.All- Leggi tutti i file a cui l'utente può accedere -
Fai clic su Grant admin consent per entrambe le autorizzazioni
Configurazione
Prima di abilitare le variabili di SharePoint, assicurati che la configurazione di riutilizzo del token OpenID richieda lo scope dell'API dell'app LibreChat. Questo fornisce ad Azure un token di accesso con audience dell'app che può essere utilizzato come asserzione on-behalf-of per lo scambio di token di SharePoint e Graph.
# 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.AllUtilizzo
Quando configurato correttamente:
- Gli utenti vedranno l'opzione "From SharePoint" nel menu degli allegati dei file
- Facendo clic su di esso si apre il selettore di file nativo di SharePoint
- Gli utenti possono sfogliare e selezionare file da qualsiasi sito SharePoint o OneDrive a cui hanno accesso
- I file selezionati vengono scaricati e allegati alla conversazione
Nota sulla sicurezza
L'integrazione SharePoint rispetta tutte le autorizzazioni SharePoint esistenti. Gli utenti possono accedere solo ai file per i quali dispongono già dell'autorizzazione alla visualizzazione in SharePoint/OneDrive.
Per una risoluzione dei problemi dettagliata e una configurazione avanzata, consulta: SharePoint Integration Guide
Com’è questa guida?