Aller au contenu principal

Créer une application OpenID Connect (OAuth 2.0) dans XFA

Une application OpenID Connect (OIDC) dans XFA ajoute la vérification d'appareil à une connexion OpenID Connect. OpenID Connect est la couche d'identité qui repose sur OAuth 2.0 : dans ses termes, votre application est la Relying Party et votre fournisseur d'identité est l'OpenID Provider. XFA se place entre les deux, vérifie l'appareil pendant la connexion et ne transmet l'utilisateur que lorsque la décision de votre politique autorise l'accès. Utilisez cette page pour saisir les bonnes valeurs et tester le parcours de connexion.

Comment ça fonctionne

Une fois tout configuré, la connexion à une application avec l'Authorization Code Flow d'OpenID Connect se déroule ainsi :

  1. Application → OpenID Provider : l'application envoie l'utilisateur vers l'Authorization Endpoint de votre OpenID Provider (par exemple Google Workspace ou Okta) pour l'authentifier. Comme la redirect_uri pointe vers l'endpoint de XFA (voir l'étape 4 ci-dessous), l'OpenID Provider renvoie l'utilisateur vers XFA après l'authentification.
  2. OpenID Provider → XFA : après l'authentification, l'OpenID Provider redirige l'utilisateur vers la Redirect URI de XFA, accompagnée de l'authorization code.
  3. XFA vérifie l'appareil : XFA compare l'état de sécurité de l'appareil à votre politique. Si l'appareil ne la respecte pas, l'accès est refusé.
  4. Token Request, application → XFA → OpenID Provider : si l'appareil réussit la vérification, XFA renvoie l'utilisateur vers l'application avec l'authorization code. L'application envoie ensuite sa Token Request au Token Endpoint de XFA, qui la transmet de façon transparente au Token Endpoint de votre OpenID Provider. XFA lit le claim email de l'ID Token dans la Token Response pour rattacher l'utilisateur authentifié à son appareil. Les tokens renvoyés à l'application restent inchangés : XFA ne les modifie pas.

Ce que vous configurez et où

OùCe que vous configurez
Application (paramètres OpenID Connect)Remplacez la redirect_uri par la XFA Redirect URI
XFAIntegration Name, la Redirect URI d'origine de votre application et le Token Endpoint de l'OpenID Provider

Remarque : cet article part du principe que votre organisation dispose d'un compte XFA et que vous en êtes administrateur. Si vous n'avez pas encore de compte, vous pouvez en créer un sur https://dashboard.xfa.tech/signup.

1. Connectez-vous au tableau de bord XFA

2. Créez une nouvelle application via Enforcement > Nouveau > Intégration OpenID Connect (OAuth 2.0)

Créer une nouvelle application

3. Renseignez les paramètres OpenID Connect

Paramètres dans XFA

Integration Name : un nom parlant pour cette intégration
Redirect URI : la Redirect URI (redirect_uri) d'origine de votre application, vers laquelle XFA envoie l'utilisateur après la vérification d'appareil
Token Endpoint : le Token Endpoint de votre OpenID Provider, que XFA utilise pour échanger l'authorization code contre l'ID Token et l'access token (par exemple https://accounts.google.com/o/oauth2/token pour Google Workspace, ou https://<your-domain>/oauth2/v1/token pour Okta)

Cliquez sur Enregistrer pour enregistrer votre intégration.

Renseigner les paramètres OpenID Connect

4. Adaptez les paramètres OpenID Connect de votre application

Après l'enregistrement, copiez la XFA Redirect URI affichée dans les détails de l'intégration. Dans la configuration OpenID Connect de votre application, remplacez la redirect_uri existante par cette XFA Redirect URI. Ainsi, après l'authentification, l'OpenID Provider renvoie l'utilisateur vers XFA pour la vérification d'appareil, et non directement vers l'application.

5. Testez la connexion

Testez le parcours de connexion en vous connectant via l'application. Le navigateur devrait d'abord être redirigé vers votre OpenID Provider pour l'authentification, puis vers XFA pour la vérification d'appareil, avant de revenir vers l'application.

Exécuter la vérification d'appareil avant authorize (pour les authorization codes de courte durée)

Par défaut, XFA exécute sa vérification d'appareil après que l'OpenID Provider a renvoyé l'authorization code, juste avant la Token Request au Token Endpoint (voir Comment ça fonctionne ci-dessus). Certains OpenID Providers émettent des authorization codes qui expirent très vite. Si la vérification d'appareil dure plus longtemps que la validité du code, par exemple parce que l'utilisateur doit encore installer l'agent XFA, la Token Request peut échouer avec une erreur invalid_grant et l'utilisateur voit une authentification en échec. Avec le gestionnaire OpenID Connect de Microsoft, la même situation peut apparaître sous la forme de l'erreur IDX21106, "Failed to parse token response body as JSON".

Pour ces fournisseurs, XFA peut au contraire exécuter la vérification d'appareil avant d'envoyer l'Authentication Request à l'OpenID Provider. L'authorization code du fournisseur n'est alors émis qu'une fois la vérification réussie, il est donc échangé en quelques secondes et reste largement dans sa durée de validité.

Cette option doit être activée explicitement et ne concerne que l'intégration proxy OpenID Connect décrite sur cette page. Si vous laissez le nouveau champ vide, XFA conserve le comportement par défaut (vérification d'appareil après le renvoi du code).

Activer la vérification d'appareil avant authorize

  1. Dans votre intégration OpenID Connect du tableau de bord XFA, réglez le champ Point de terminaison d'autorisation de l'OpenID Provider sur l'Authorization Endpoint de votre OpenID Provider. C'est la même URL d'autorisation que celle vers laquelle votre application pointe aujourd'hui, par exemple https://<your-domain>/oauth2/v1/authorize.

  2. Dans la configuration OpenID Connect de votre application, modifiez l'Authorization Endpoint (AuthUrl) pour qu'il pointe vers le point d'entrée authorize de XFA au lieu de pointer directement vers l'OpenID Provider :

    https://device-api.xfa.tech/<applicationId>/oauth2/authorize

    Remplacez <applicationId> par l'ID de votre application XFA.

  3. Dans la configuration OpenID Connect de votre application, remettez la redirect_uri sur la Redirect URI propre à votre application. Elle doit correspondre exactement à la Redirect URI que vous avez saisie dans XFA.

  4. Chez votre OpenID Provider, conservez la XFA Redirect URI parmi les redirect URI autorisées de votre client. XFA l'envoie à l'OpenID Provider à la place de la Redirect URI propre à votre application.

Votre identifiant client et votre secret client, ainsi que le Token Endpoint dans XFA, restent inchangés.

Si votre application envoie déjà la XFA Redirect URI comme redirect_uri dans ce parcours, cela continue de fonctionner. Nous recommandons de passer à la Redirect URI propre à votre application.

Ce qui change

XFA : réglez Point de terminaison d'autorisation de l'OpenID Provider sur l'Authorization Endpoint du fournisseur
Application : faites pointer AuthUrl vers https://device-api.xfa.tech/<applicationId>/oauth2/authorize et envoyez la Redirect URI propre à votre application comme redirect_uri
OpenID Provider : autorisez la XFA Redirect URI comme redirect URI
Inchangés : l'identifiant client, le secret client et le Token Endpoint

Revenir en arrière

Pour revenir au comportement par défaut, faites de nouveau pointer l'AuthUrl de votre application vers l'Authorization Endpoint de l'OpenID Provider. Remettez aussi la redirect_uri de votre application sur la XFA Redirect URI, comme dans le parcours par défaut. Si vous laissez le champ Point de terminaison d'autorisation de l'OpenID Provider vide dans XFA, le parcours avec la vérification d'appareil après authorize s'applique de nouveau.