Configurazione di Microsoft Entra
Registra Frontdoor in Microsoft Entra ID, concedi i permessi Graph necessari e collegalo con le variabili d'ambiente giuste.
In questa pagina
Frontdoor fa accedere gli utenti con Microsoft Entra ID tramite il flusso OAuth 2.0 Authorization Code con PKCE, usando MSAL. Ti serve una registrazione di app nel tuo tenant.
Passo 1: creare una registrazione di app
- Nel portale di Azure, vai a Microsoft Entra ID > App registrations > New registration.
- Name:
Frontdoor, o qualsiasi nome tu preferisca. - Supported account types:
- Single tenant: solo gli utenti della tua organizzazione (il caso più comune).
- Multitenant: gli utenti di qualsiasi organizzazione Microsoft Entra.
- Redirect URI: seleziona Web e inserisci:
- produzione:
https://frontdoor.contoso.com/api/auth/microsoft/callback - sviluppo locale:
http://localhost:3001/api/auth/microsoft/callback
- produzione:
- Seleziona Register.
Passo 2: annotare gli identificativi
Dalla pagina Overview della nuova registrazione di app, copia:
- Application (client) ID →
AZURE_CLIENT_ID - Directory (tenant) ID →
AZURE_TENANT_ID
Passo 3: creare un client secret
- Vai a Certificates & secrets > Client secrets > New client secret.
- Aggiungi una descrizione (per esempio "Frontdoor produzione") e scegli una scadenza.
- Copia subito il Value, perché non viene più mostrato →
AZURE_CLIENT_SECRET.
Ruota il secret periodicamente e non inserirlo mai nel repository.
Passo 4: configurare i permessi API
Permessi per l'accesso
- Vai a API permissions > Add a permission > Microsoft Graph > Delegated permissions.
- Aggiungi:
openid: far accedere gli utentiprofile: leggere il nome visualizzato dell'utenteemail: leggere l'indirizzo email dell'utenteUser.Read: leggere il profilo di base dell'utente che ha effettuato l'accesso
- Seleziona Grant admin consent, oppure chiedi a un amministratore del tenant di farlo.
Permessi per la sincronizzazione dei gruppi e il pre-onboarding
Per usare la sincronizzazione dei gruppi Entra (ENTRA_GROUP_SYNC=true) o l'azione Sincronizza gruppi, aggiungi anche questi permessi Microsoft Graph di tipo application e concedi il consenso amministratore:
| Permesso | Perché |
|---|---|
User.Read.All |
Leggere le appartenenze ai gruppi di ogni utente (/users/{id}/transitiveMemberOf) |
GroupMember.Read.All |
Leggere i membri dei gruppi importati (/groups/{id}/transitiveMembers) |
Group.Read.All |
Facoltativo: letture più ampie degli oggetti gruppo (descrizione, visibilità e simili) |
Sia il flusso di accesso sia Sincronizza gruppi chiamano Microsoft Graph con un token solo applicativo. Senza questi permessi applicativi le funzioni sui gruppi restituiscono errori 403, anche per un amministratore globale.
Pre-onboarding utenti cerca nel tenant con lo stesso token solo applicativo e richiede User.Read.All con consenso amministratore, anche quando ENTRA_GROUP_SYNC è disattivato.
Foto del profilo
Per permettere all'utility di preriscaldamento e all'aggiornamento degli avatar in Personalizza di scaricare le foto di Microsoft 365 degli utenti esistenti, aggiungi il permesso applicativo ProfilePhoto.Read.All con consenso amministratore.
Passo 5: impostare le variabili d'ambiente
AZURE_CLIENT_ID=00000000-0000-0000-0000-000000000000
AZURE_CLIENT_SECRET=your-client-secret
AZURE_TENANT_ID=00000000-0000-0000-0000-000000000000
AZURE_REDIRECT_URI=https://frontdoor.contoso.com/api/auth/microsoft/callback
Vedi il Riferimento della configurazione per le altre variabili.
Come funziona la sincronizzazione dei gruppi
Con ENTRA_GROUP_SYNC=true, a ogni accesso Frontdoor:
- recupera le appartenenze ai gruppi dell'utente tramite
/users/{id}/transitiveMemberOf - aggiorna il catalogo dei gruppi dell'intero tenant tramite
/groups, al massimo una volta ogniENTRA_TENANT_REFRESH_MINUTES - salva i gruppi in una cache di rilevamento
Gli amministratori importano poi solo i gruppi che vogliono usare. Poiché Graph viene chiamato in modalità solo applicativa, il consenso dell'utente all'accesso resta limitato all'insieme minimo openid, profile, email e User.Read. Sincronizza gruppi usa lo stesso percorso solo applicativo per aggiornare in un colpo solo il catalogo dei gruppi e le appartenenze di tutti gli utenti.
La prima volta che attivi ENTRA_GROUP_SYNC=true, aggiungi i permessi applicativi, concedi il consenso, poi provoca un nuovo accesso o esegui Sincronizza gruppi per popolare la cache.
Rilevamento e importazione sono separati. Se elimini da Frontdoor dei gruppi Entra importati, non vengono ricreati al prossimo accesso: devono essere rilevati di nuovo da un accesso o da una sincronizzazione, e poi importati di nuovo. Vedi Gruppi e accessi.
Anche gli utenti in pre-onboarding rientrano nella sincronizzazione, quindi i loro gruppi Entra possono comparire prima che accedano.