Connect to Microsoft Entra ID with OpenID Connect
FoxIDs puo essere collegato a Microsoft Entra ID con OpenID Connect e quindi autenticare utenti finali in un tenant Microsoft Entra ID.
E possibile collegare sia un'app Microsoft Entra ID single tenant sia multitenant come metodo di autenticazione in FoxIDs usando OpenID Connect.
Un caso piu complesso e leggere i claim dall'access token.
Se configuri App roles, essi vengono restituiti nel claim roles.
Puoi testare il login Microsoft Entra ID con il sample web app online (documentazione sample) facendo clic su
Log ine poiMicrosoft Entra ID.
Dai un'occhiata alla configurazione sample Microsoft Entra ID in FoxIDs Control: https://control.foxids.com/test-corp
Ottieni accesso in lettura con l'utentereader@foxids.come la passwordgEh#V6kSw, poi seleziona l'ambienteProductione la schedaAuthentication.
Configure single tenant
Questo capitolo descrive come configurare una connessione Microsoft Entra ID single tenant con OpenID Connect Authorization Code flow e PKCE, che e il flusso OpenID Connect raccomandato.
1 - Inizia creando un metodo di autenticazione OpenID Connect in FoxIDs Control Client
- Aggiungi il nome
- Seleziona show advanced
- Seleziona tildes URL binding pattern

Ora e possibile leggere Redirect URL e Front channel logout URL.
2 - Poi vai in Azure Portal e crea l'app Microsoft Entra ID
- Aggiungi il nome
- Seleziona single tenant
- E una Web application: aggiungi il
Redirect URLdel metodo di autenticazione FoxIDs - Fai clic su Register
- Copia l'Application (client) ID
- Copia il Directory (tenant) ID
- Vai alla scheda Authentication e aggiungi il
Front channel logout URLdel metodo di autenticazione FoxIDs, poi fai clic su save - Vai alla scheda Certificates & secrets e fai clic su New client secret, quindi aggiungi il secret
- Facoltativamente usa un certificato client invece del secret
- Copia il valore client secret, non il secret ID
- Vai alla scheda Token configuration e fai clic su Add optional claims. Poi seleziona ID, cioe per aggiungere claim all'ID token, e seleziona
email,family_name,given_name,ipaddr,preferred_username, quindi fai clic due volte su Add.
3 - Torna al metodo di autenticazione FoxIDs in FoxIDs Control Client
- Aggiungi l'authority, che e
https://login.microsoftonline.com/{Microsoft Entra ID tenant ID}/v2.0, ad esempiohttps://login.microsoftonline.com/82B2EBAE-5864-4C9F-8F78-40CB172BC7E1/v2.0 - Aggiungi il client ID Microsoft Entra ID come custom SP client ID
- Aggiungi gli scope
profileeemail, eventualmente altri o ulteriori scope - Aggiungi il valore client secret Microsoft Entra ID come client secret
- Facoltativamente seleziona show advanced, cambia il metodo di autenticazione client in
private key JWTe carica il certificato client
- Facoltativamente seleziona show advanced, cambia il metodo di autenticazione client in
- Seleziona l'uso dei claim dall'ID token
- Aggiungi i claim che verranno trasferiti dal metodo di autenticazione alle registrazioni applicative. Ad esempio
preferred_username,email,name,given_name,family_name,oid,ipaddre possibilmente il claimaccess_tokenper trasferire l'access token Microsoft Entra ID alle registrazioni applicative. - Seleziona
Noin Front channel logout session required - Fai clic su create
E tutto, hai finito.
E possibile vedere i claim restituiti dall'app Microsoft Entra ID nel log FoxIDs modificando le log settings per registrare i claim e facoltativamente l'intero messaggio, quindi decodificare i JWT ricevuti
Il nuovo metodo di autenticazione puo ora essere selezionato come metodo di autenticazione consentito in una registrazione applicativa.
La registrazione applicativa puo leggere i claim dal metodo di autenticazione. E possibile aggiungere il claim access_token per includere l'access token Microsoft Entra ID come claim nell'access token emesso.
Configure multitenant
Questo capitolo descrive come configurare una connessione Microsoft Entra ID multitenant con OpenID Connect Authorization Code flow e PKCE.
La configurazione multitenant differisce leggermente dalla configurazione single tenant.
1 - Nel Microsoft Entra ID Portal
- Durante la creazione dell'app seleziona multitenant
2 - Nel metodo di autenticazione FoxIDs in FoxIDs Control Client
- Aggiungi l'authority
https://login.microsoftonline.com/common/v2.0 - Seleziona edit issuer
- Cambia l'issuer in
https://login.microsoftonline.com/{Microsoft Entra ID tenant ID}/v2.0, ad esempiohttps://login.microsoftonline.com/82B2EBAE-5864-4C9F-8F78-40CB172BC7E1/v2.0, dove aggiungi il tenant ID Microsoft Entra ID.
Puoi eventualmente aggiungere piu issuer e quindi fidarti di piu tenant Azure. Oppure puoi usare il wildcard*senza altro per accettare tutti gli issuer; l'issuer accettato viene aggiunto nel claimauth_method_issuer.
Read claims from access token
Se vuoi leggere i claim dall'access token devi aggiungere un'altra app Microsoft Entra ID per una risorsa API. La prima app Microsoft Entra ID e per un client.
1 - In Azure Portal
- Crea la resource app Microsoft Entra ID
- Esponi uno scope dalla resource app e concedi al client app lo scope della resource app
2 - Poi vai in FoxIDs Control Client
- Seleziona show advanced
- Seleziona edit issuer
- Aggiungi l'access token issuer
https://sts.windows.net/{Microsoft Entra ID tenant ID}/, ad esempiohttps://sts.windows.net/82B2EBAE-5864-4C9F-8F78-40CB172BC7E1/, dove aggiungi il tenant ID Microsoft Entra ID - Aggiungi lo scope della resource app come scope nel client del metodo di autenticazione FoxIDs
- Leggi i claim dall'access token non selezionando l'uso dei claim dall'ID token
In questo modo l'access token viene emesso dallo stesso OP, cioe IdP, e quindi viene accettato.
App roles
Se configuri App roles nell'app Microsoft Entra ID sotto la scheda App roles.
I ruoli vengono restituiti nel claim roles nell'ID token per gli utenti assegnati al ruolo.
Se stai leggendo i claim dall'access token, i ruoli devono essere definiti nell'app Microsoft Entra ID per una resource API.
In FoxIDs Control Client
- I ruoli vengono restituiti in un claim
roles, che puo essere cambiato in un claimrole, senza la s, aggiungendo una map claims transformation.
Scrivirolein new claim, imposta l'azione su replace claim e scrivirolesin select claim - Aggiungi il claim
roleai claim che verranno trasferiti dal metodo di autenticazione alle registrazioni applicative
Ricorda di aggiungere anche il claim
rolenella registrazione applicativa affinche venga emesso verso l'applicazione.