Se connecter à Microsoft Entra ID avec OpenID Connect

FoxIDs peut être connecté à Microsoft Entra ID avec OpenID Connect et ainsi authentifier les utilisateurs finaux dans un tenant Microsoft Entra ID.

Il est possible de connecter une application Microsoft Entra ID single tenant et multitenant en tant que méthode d’authentification sur FoxIDs via OpenID Connect. Un cas plus complexe consiste à lire les revendications depuis l’access token. Si vous configurez des App roles, elles sont retournées dans la revendication roles.

Vous pouvez tester la connexion Microsoft Entra ID avec l’exemple d’application web en ligne (docs de l’exemple) en cliquant sur Log in puis Microsoft Entra ID. Consultez la configuration d’exemple Microsoft Entra ID dans FoxIDs Control : https://control.foxids.com/test-corp Obtenez l’accès en lecture avec l’utilisateur reader@foxids.com et le mot de passe gEh#V6kSw, puis sélectionnez l’environnement Production et l’onglet Authentication.

Configurer single tenant

Ce chapitre décrit comment configurer une connexion Microsoft Entra ID single tenant avec le flux OpenID Connect Authorization Code et PKCE, qui est le flux OpenID Connect recommandé.

1 - Commencez par créer une méthode d’authentification OpenID Connect dans FoxIDs Control Client

  1. Ajoutez le nom
  2. Sélectionnez show advanced
  3. Sélectionnez le modèle de liaison d’URL avec tildes

Read the redirect URLs

Il est maintenant possible de lire Redirect URL et Front channel logout URL.

2 - Allez ensuite sur Azure Portal et créez l’application Microsoft Entra ID

  1. Ajoutez le nom
  2. Sélectionnez single tenant
  3. (C’est une application Web) Ajoutez le Redirect URL de la méthode d’authentification FoxIDs
  4. Cliquez sur Register
  5. Copiez l’Application (client) ID
  6. Copiez le Directory (tenant) ID
  7. Allez à l’onglet Authentication et ajoutez le Front channel logout URL de la méthode d’authentification FoxIDs, cliquez sur save
  8. Allez à l’onglet Certificates & secrets et cliquez sur New client secret puis ajoutez le secret
    • Optionnellement, utilisez un certificat client au lieu d’un secret
  9. Copiez la valeur du client secret (pas l’ID du secret)
  10. Allez à l’onglet Token configuration et cliquez sur Add optional claims. Puis sélectionnez ID (pour ajouter des revendications à l’ID token) et sélectionnez email, family_name, given_name, ipaddr, preferred_username et cliquez deux fois sur Add.

3 - Revenez à la méthode d’authentification FoxIDs dans FoxIDs Control Client

  1. Ajoutez l’authority, qui est https://login.microsoftonline.com/{Microsoft Entra ID tenant ID}/v2.0 (par ex. https://login.microsoftonline.com/82B2EBAE-5864-4C9F-8F78-40CB172BC7E1/v2.0)
  2. Ajoutez l’ID client Microsoft Entra ID comme custom SP client ID
  3. Ajoutez les scopes profile et email (éventuellement d’autres scopes)
  4. Ajoutez la valeur du client secret Microsoft Entra ID comme client secret
    • Optionnellement, sélectionnez show advanced, changez la méthode d’authentification client en private key JWT et chargez le certificat client
  5. Sélectionnez utiliser les revendications depuis l’ID token
  6. Ajoutez les revendications qui seront transférées de la méthode d’authentification vers les enregistrements d’applications. Par ex. preferred_username, email, name, given_name, family_name, oid, ipaddr et éventuellement la revendication access_token pour transférer l’access token Microsoft Entra ID aux enregistrements d’applications.
  7. Sélectionnez No dans Front channel logout session required
  8. Cliquez sur create

C’est tout, vous avez terminé.

Il est possible de voir les revendications retournées par l’application Microsoft Entra ID dans le journal FoxIDs en modifiant les paramètres de journalisation pour journaliser les revendications et éventuellement journaliser le message complet puis décoder les JWT reçus

La nouvelle méthode d’authentification peut maintenant être sélectionnée comme méthode d’authentification autorisée dans un enregistrement d’application. L’enregistrement d’application peut lire les revendications de la méthode d’authentification. Il est possible d’ajouter la revendication access_token pour inclure l’access token Microsoft Entra ID comme revendication dans l’access token émis.

Configurer multitenant

Ce chapitre décrit comment configurer une connexion Microsoft Entra ID multitenant avec le flux OpenID Connect Authorization Code et PKCE.

La configuration multitenant diffère légèrement de la configuration single tenant.

1 - Le portail Microsoft Entra ID

  1. Lors de la création de l’application, sélectionnez multitenant

2 - La méthode d’authentification FoxIDs dans FoxIDs Control Client

  1. Ajoutez l’authority https://login.microsoftonline.com/common/v2.0
  2. Sélectionnez edit issuer
  3. Modifiez l’issuer en https://login.microsoftonline.com/{Microsoft Entra ID tenant ID}/v2.0 (par ex. https://login.microsoftonline.com/82B2EBAE-5864-4C9F-8F78-40CB172BC7E1/v2.0), où vous ajoutez l’ID tenant Microsoft Entra ID. Vous pouvez éventuellement ajouter plusieurs issuers et ainsi faire confiance à plusieurs tenants Azure. Ou vous pouvez utiliser le joker * sans rien d’autre pour accepter tous les issuers, l’issuer accepté est ajouté dans la revendication auth_method_issuer.

Lire les revendications depuis l’access token

Si vous souhaitez lire les revendications depuis l’access token, vous devez ajouter une application Microsoft Entra ID supplémentaire pour une ressource (API). La première application Microsoft Entra ID est un client.

1 - Dans Azure Portal

  1. Créez l’application de ressource Microsoft Entra ID
  2. Exposez un scope depuis l’application ressource et accordez au client l’accès au scope de l’application ressource

2 - Allez ensuite dans FoxIDs Control Client

  1. Sélectionnez show advanced
  2. Sélectionnez edit issuer
  3. Ajoutez l’issuer de l’access token https://sts.windows.net/{Microsoft Entra ID tenant ID}/ (par ex. https://sts.windows.net/82B2EBAE-5864-4C9F-8F78-40CB172BC7E1/), où vous ajoutez l’ID tenant Microsoft Entra ID
  4. Ajoutez le scope de l’application ressource comme scope dans le client de la méthode d’authentification FoxIDs
  5. Lisez les revendications depuis l’access token en ne sélectionnant pas l’utilisation des revendications depuis l’ID token

Ainsi, l’access token est émis par le même OP (IdP) et est donc accepté.

App roles

Si vous configurez des App roles dans l’application Microsoft Entra ID sous l’onglet App roles. Les rôles sont retournés dans la revendication roles de l’ID token pour les utilisateurs affectés au rôle.

Si vous lisez les revendications depuis l’access token, les rôles doivent être définis dans l’application Microsoft Entra ID pour une ressource (API).

Dans FoxIDs Control Client

  1. Les rôles sont retournés dans une revendication roles qui peut être changée en revendication role (sans le s) en ajoutant une transformation map claims. Écrivez role dans new claim, définissez l’action sur replace claim et écrivez roles dans select claim
  2. Ajoutez la revendication role aux revendications qui seront transférées de la méthode d’authentification vers les enregistrements d’applications

N’oubliez pas d’ajouter également la revendication role dans l’enregistrement d’application pour qu’elle soit émise vers l’application.

Votre confidentialité

Nous utilisons des cookies pour améliorer votre expérience sur nos sites. Cliquez sur « Accepter tous les cookies » pour accepter l'utilisation des cookies. Pour refuser les cookies non essentiels, cliquez sur « Cookies nécessaires uniquement ».

Consultez notre politique de confidentialité pour en savoir plus