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 in e poi Microsoft 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'utente reader@foxids.com e la password gEh#V6kSw, poi seleziona l'ambiente Production e la scheda Authentication.

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

  1. Aggiungi il nome
  2. Seleziona show advanced
  3. Seleziona tildes URL binding pattern

Read the redirect URLs

Ora e possibile leggere Redirect URL e Front channel logout URL.

2 - Poi vai in Azure Portal e crea l'app Microsoft Entra ID

  1. Aggiungi il nome
  2. Seleziona single tenant
  3. E una Web application: aggiungi il Redirect URL del metodo di autenticazione FoxIDs
  4. Fai clic su Register
  5. Copia l'Application (client) ID
  6. Copia il Directory (tenant) ID
  7. Vai alla scheda Authentication e aggiungi il Front channel logout URL del metodo di autenticazione FoxIDs, poi fai clic su save
  8. Vai alla scheda Certificates & secrets e fai clic su New client secret, quindi aggiungi il secret
    • Facoltativamente usa un certificato client invece del secret
  9. Copia il valore client secret, non il secret ID
  10. 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

  1. Aggiungi l'authority, che e https://login.microsoftonline.com/{Microsoft Entra ID tenant ID}/v2.0, ad esempio https://login.microsoftonline.com/82B2EBAE-5864-4C9F-8F78-40CB172BC7E1/v2.0
  2. Aggiungi il client ID Microsoft Entra ID come custom SP client ID
  3. Aggiungi gli scope profile e email, eventualmente altri o ulteriori scope
  4. Aggiungi il valore client secret Microsoft Entra ID come client secret
    • Facoltativamente seleziona show advanced, cambia il metodo di autenticazione client in private key JWT e carica il certificato client
  5. Seleziona l'uso dei claim dall'ID token
  6. Aggiungi i claim che verranno trasferiti dal metodo di autenticazione alle registrazioni applicative. Ad esempio preferred_username, email, name, given_name, family_name, oid, ipaddr e possibilmente il claim access_token per trasferire l'access token Microsoft Entra ID alle registrazioni applicative.
  7. Seleziona No in Front channel logout session required
  8. 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

  1. Durante la creazione dell'app seleziona multitenant

2 - Nel metodo di autenticazione FoxIDs in FoxIDs Control Client

  1. Aggiungi l'authority https://login.microsoftonline.com/common/v2.0
  2. Seleziona edit issuer
  3. Cambia l'issuer in https://login.microsoftonline.com/{Microsoft Entra ID tenant ID}/v2.0, ad esempio https://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 claim auth_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

  1. Crea la resource app Microsoft Entra ID
  2. Esponi uno scope dalla resource app e concedi al client app lo scope della resource app

2 - Poi vai in FoxIDs Control Client

  1. Seleziona show advanced
  2. Seleziona edit issuer
  3. Aggiungi l'access token issuer https://sts.windows.net/{Microsoft Entra ID tenant ID}/, ad esempio https://sts.windows.net/82B2EBAE-5864-4C9F-8F78-40CB172BC7E1/, dove aggiungi il tenant ID Microsoft Entra ID
  4. Aggiungi lo scope della resource app come scope nel client del metodo di autenticazione FoxIDs
  5. 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

  1. I ruoli vengono restituiti in un claim roles, che puo essere cambiato in un claim role, senza la s, aggiungendo una map claims transformation.
    Scrivi role in new claim, imposta l'azione su replace claim e scrivi roles in select claim
  2. Aggiungi il claim role ai claim che verranno trasferiti dal metodo di autenticazione alle registrazioni applicative

Ricorda di aggiungere anche il claim role nella registrazione applicativa affinche venga emesso verso l'applicazione.

La tua privacy

La tua privacy

Usiamo i cookie per migliorare la tua esperienza sui nostri siti. Fai clic sul pulsante 'Accetta tutti i cookie' per acconsentire all'uso dei cookie. Per rifiutare i cookie non essenziali, fai clic su 'Solo cookie necessari'.

Visita la nostra pagina di Informativa sulla privacy per saperne di più