Méthode d’authentification OpenID Connect
Une méthode d’authentification OpenID Connect FoxIDs connecte FoxIDs à un OpenID Provider (OP) ou Identity Provider (IdP) externe. Le fournisseur externe authentifie l’utilisateur, tandis que FoxIDs agit comme Relying Party (RP) et met l’identité obtenue à la disposition des inscriptions d’applications sélectionnées.
Plusieurs méthodes d’authentification OpenID Connect peuvent être configurées et sélectionnées par les inscriptions d’applications. Les principales fonctions comprennent la discovery et la mise à jour automatiques des clés de signature, Authorization Code Flow avec PKCE, l’authentification client, les sources de revendications configurables, la transmission et la transformation des revendications.
Configuration
Dans FoxIDs Control :
- Sélectionnez l’environnement qui doit approuver le fournisseur externe.
- Ouvrez Authentication et cliquez sur Add authentication.
- Sélectionnez Connect to OpenID Provider. Ce type standard est affiché sans activer Show all options.
- Configurez le fournisseur et cliquez sur Create.

Exemple Google
Cet exemple se connecte à Google avec l’authority suivante :
https://accounts.google.com
Configurez la méthode d’authentification avec :
- Un Name descriptif.
- L’authority de Google dans Authority.
- Les scopes
profileetemail. FoxIDs inclut automatiquement le scope requisopenid. - Use PKCE activé.
- Le client secret émis par Google.
*dans Forward claims pour transmettre toutes les revendications reçues.- Read claims from the ID token instead of the access token activé sous Show advanced.
Les scopes requis et la nécessité de scopes supplémentaires varient selon le fournisseur. Configurez uniquement les scopes exigés par le fournisseur externe et nécessaires aux informations utilisateur utilisées par vos applications.
Copiez la Redirect URL affichée par FoxIDs et enregistrez-la comme redirect URI autorisée auprès du fournisseur externe. Google émet également un client ID pour le client OAuth. Activez Show advanced et saisissez cette valeur dans Optional custom SP client ID. Si aucun client ID personnalisé n’est configuré, FoxIDs utilise le nom de la méthode d’authentification comme client ID.

Discovery et mises à jour automatiques
Lors de la création de la méthode d’authentification, FoxIDs lit le document OpenID Connect discovery du fournisseur à l’adresse :
https://accounts.google.com/.well-known/openid-configuration
FoxIDs lit l’issuer, les clés de signature et les endpoints pris en charge, notamment les endpoints authorization, token, UserInfo et end-session lorsqu’ils sont présents. Rouvrez la méthode d’authentification pour examiner l’issuer, les clés et les endpoints découverts.

FoxIDs relit régulièrement la discovery et applique les futures modifications des endpoints et des clés de signature. Si la discovery reste indisponible et que les mises à jour automatiques s’arrêtent, mettez à jour la méthode d’authentification dans FoxIDs Control ou via la Control API pour les redémarrer. L’intervalle de mise à jour peut être modifié sous Show advanced.
FoxIDs Control crée des méthodes d’authentification automatiquement mises à jour à partir de la discovery. La Control API prend aussi en charge les configurations gérées manuellement, dans lesquelles l’issuer, les clés et les endpoints sont fournis directement sans appel à la discovery.
Revendications et transmission
Par défaut, FoxIDs valide l’ID token et lit les revendications de l’utilisateur dans l’access token externe. Sous Show advanced, la source des revendications peut être remplacée par :
- Read claims from the ID token instead of the access token.
- Read claims from the UserInfo Endpoint instead of the access token or ID token.
L’option UserInfo utilise l’access token externe pour appeler l’endpoint UserInfo découvert. Les deux alternatives sont mutuellement exclusives dans FoxIDs Control.

La méthode d’authentification transmet les revendications par défaut et celles indiquées sous Forward claims aux inscriptions d’applications. Ajoutez * pour transmettre toutes les revendications reçues ; c’est la valeur par défaut. Les revendications transférées par défaut sont sub, sid, acr et amr.
Ajoutez access_token pour rendre l’access token externe disponible aux inscriptions d’applications. Si le fournisseur externe renvoie un refresh token, ajoutez également refresh_token pour le transmettre. Un refresh token est généralement renvoyé uniquement avec Authorization Code Flow et le scope propre au fournisseur requis pour l’accès hors ligne, comme offline_access.
Les revendications peuvent être sélectionnées, renommées, combinées ou autrement modifiées avec les transformations et tâches de revendications. Une revendication créée par une transformation reste locale à la méthode d’authentification, sauf si elle est incluse dans Forward claims ou si * est utilisé.
Authentification client et PKCE
La méthode d’authentification utilise Authorization Code Flow avec PKCE par défaut. La méthode d’authentification client par défaut sur l’endpoint token est client secret post.
Activez Show advanced pour sélectionner client secret basic ou private key JWT. Avec private key JWT, importez le certificat client après avoir créé la méthode d’authentification et enregistrez la clé publique correspondante auprès du fournisseur externe.

Le fournisseur détermine les méthodes d’authentification client et les options PKCE prises en charge. Utilisez la configuration la plus robuste prise en charge par les deux parties.
Profils
Les profils permettent à une méthode d’authentification OpenID Connect de proposer plusieurs variantes de connexion sans dupliquer toute la configuration du fournisseur. Un profil conserve les paramètres de base de la méthode d’authentification et peut :
- Ajouter des scopes propres au fournisseur aux scopes configurés sur la méthode d’authentification.
- Ajouter des paramètres à la requête authorization ou remplacer les paramètres supplémentaires de même nom configurés sur la méthode d’authentification.
Ouvrez la méthode d’authentification, activez Show advanced, sélectionnez l’onglet Profiles et cliquez sur Add Profile. Donnez au profil un Name descriptif et un Technical name unique, puis configurez les scopes et paramètres supplémentaires.
L’exemple ci-dessous ajoute prompt=login, qui demande à l’OpenID Provider externe d’authentifier de nouveau l’utilisateur. La valeur custom_scope montre où ajouter un scope propre au fournisseur. Remplacez-la par un scope pris en charge par le fournisseur ou omettez-la si aucun scope supplémentaire n’est nécessaire.

Dans une inscription d’application, la méthode d’authentification elle-même et chacun de ses profils sont proposés séparément. Vous pouvez autoriser la méthode de base, un ou plusieurs profils, ou les deux. Lorsque la méthode de base est sélectionnée, aucun paramètre de profil n’est appliqué. Lorsqu’un profil est sélectionné, FoxIDs combine ses scopes et paramètres supplémentaires avec la configuration de base.
Paramètres avancés du fournisseur
Les paramètres suivants sont disponibles sous Show advanced :
- Optional custom SP client ID remplace le nom de la méthode d’authentification utilisé comme client ID. Utilisez cette option lorsque le fournisseur émet ou exige un client ID précis.
- Edit issuers remplace l’issuer obtenu par discovery par une liste explicite. Cela prend en charge les fournisseurs qui émettent des tokens depuis plusieurs issuers avec les mêmes clés de signature.
*accepte tout issuer et ne doit être utilisé que si cette confiance est intentionnelle. L’issuer accepté est ajouté à la revendicationauth_method_issuer. - Party binding pattern modifie le format de l’URL de callback FoxIDs pour l’interopérabilité avec le fournisseur. FoxIDs utilise par défaut le modèle entre parenthèses
.../(auth-method)/...; les modèles avec tildes.../~auth-method~/...et points.../.auth-method./...sont aussi pris en charge. - Response type, response mode, l’intervalle de mise à jour de la discovery ainsi que les paramètres de déconnexion et de confiance offrent un contrôle supplémentaire du protocole.
L’issuer et les clés de signature affichés après la création restent en lecture seule tant que l’issuer découvert est utilisé. Activez Edit issuers uniquement lorsque le fournisseur exige une configuration d’issuer différente de la discovery.
Guides pratiques
- Connecter IdentityServer
- Connecter Microsoft Entra ID
- Connecter Azure AD B2C
- Connecter Amazon Cognito
- Connecter Google
- Connecter Facebook
- Connecter Signicat
- Connecter Nets eID Broker