Aller au contenu principal

Créer une application OAuth2 dans XFA

Une application OAuth2 dans XFA ajoute la vérification d'appareil à un parcours de connexion OAuth2. XFA se place entre votre application et votre fournisseur d'identité, 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 via OAuth2 se déroule ainsi :

  1. Application → fournisseur d'identité : l'application redirige l'utilisateur vers votre fournisseur d'identité (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), le fournisseur d'identité renvoie l'utilisateur vers XFA après l'authentification.
  2. Fournisseur d'identité → XFA : après l'authentification, le fournisseur d'identité redirige l'utilisateur vers la redirect URL 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. Échange du token, application → XFA → fournisseur d'identité : si l'appareil réussit la vérification, XFA renvoie l'utilisateur vers l'application avec l'authorization code. L'application échange ensuite ce code contre un access token via le token endpoint de XFA, qui transmet la requête de façon transparente au token endpoint de votre fournisseur d'identité. XFA se sert de cet échange pour rattacher l'utilisateur authentifié à son appareil. Le token renvoyé à l'application reste inchangé : XFA ne le modifie pas.

Ce que vous configurez et où

Ce que vous configurez
Application (paramètres OAuth2)Remplacez la redirect_uri par la XFA Redirect URL
XFAIntegration Name, la Redirect URL d'origine de votre application et le Token Endpoint de votre fournisseur d'identité

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 > OAuth2 Integration

Créer une nouvelle application

3. Renseignez les paramètres OAuth2

Paramètres dans XFA

Integration Name : un nom parlant pour cette intégration
Redirect URL : la redirect URL d'origine de votre application, vers laquelle XFA envoie l'utilisateur après la vérification d'appareil
Token Endpoint : le token endpoint OAuth2 de votre fournisseur d'identité, que XFA utilise pour échanger l'authorization code contre un 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 OAuth2

4. Adaptez les paramètres OAuth2 de votre application

Après l'enregistrement, copiez la XFA Redirect URL affichée dans les détails de l'intégration. Dans la configuration OAuth2 de votre application, remplacez la redirect_uri existante par cette XFA Redirect URL. Ainsi, après l'authentification, le fournisseur d'identité 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 fournisseur d'identité 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 le fournisseur d'identité a renvoyé l'authorization code, juste avant d'échanger ce code au Token Endpoint (voir Comment ça fonctionne ci-dessus). Certains fournisseurs d'identité é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, l'échange du token 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 de rediriger l'utilisateur vers le fournisseur d'identité. L'authorization code du fournisseur n'est alors créé 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 OAuth2 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 OAuth2 du tableau de bord XFA, réglez le nouveau champ Authorize Endpoint of Provider sur l'endpoint d'autorisation OAuth2 ou OIDC de votre fournisseur d'identité. C'est la même URL authorize que celle vers laquelle votre application pointe aujourd'hui, par exemple https://<your-domain>/oauth2/v1/authorize.

  2. Dans la configuration OAuth2 de votre application, modifiez l'URL d'autorisation (AuthUrl) pour qu'elle pointe vers le point d'entrée authorize de XFA au lieu de pointer directement vers le fournisseur d'identité :

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

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

Tout le reste ne change pas. La redirect URI de votre application, l'enregistrement de votre client auprès du fournisseur d'identité et le Token Endpoint dans XFA restent inchangés.

Ce qui change

XFA : réglez Authorize Endpoint of Provider sur l'URL authorize du fournisseur
Application : faites pointer AuthUrl vers https://device-api.xfa.tech/<applicationId>/oauth2/authorize
Inchangés : la redirect URI, l'enregistrement du client auprès du fournisseur 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'endpoint d'autorisation de votre fournisseur d'identité. Si vous laissez le champ Authorize Endpoint of Provider vide dans XFA, le parcours avec la vérification d'appareil après authorize s'applique de nouveau.