Configuration d'Azure Active Directory pour les applications monopages

Aperçu

Les applications JavaScript s'exécutant dans un navigateur sont souvent difficiles à sécuriser à cause de la nature ouverte du Web. Le stockage sécurisé est non-existant, et tout est en texte clair (pour HTTP version 1.1). Voici une citation (en Anglais) de l'équipe Azure Active Directory qui synthétise l'état de l'authentification avec les applications monopages (« single-page applications ») :

The OAuth2 implicit grant is notorious for being the grant with the longest list of security concerns in the OAuth2 specification. And yet, that is the approach implemented by ADAL JS and the one we recommend when writing SPA applications. What gives? It’s all a matter of tradeoffs: and as it turns out, the implicit grant is the best approach you can pursue for applications that consume a Web API via JavaScript from a browser.

(Source : https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-dev-understanding-oauth2-implicit-grant)

Il est donc important de faire toutes les vérifications nécessaires pour assurer la validité de vos demandes et les réponses.

Cette section contient les instructions sur comment configurer Azure AD avec une application monopage (« SPA ») avec laquelle les utilisateurs pourront s'authentifier et faire des requêtes à l'API GraphQL. Cette configuration est constituée de trois étapes : l'inscription de la SPA, donner accès à l'API et régler quelques URLs de redirection.

Prérequis

  • Assurez-vous d'avoir une copie de WorkflowGen sous licence installée et en fonctionnement sur un serveur.

  • Assurez-vous d'avoir l'accès d'administrateur Azure AD pour pouvoir configurer Azure AD.

  • Assurez-vous d'avoir approvisionné un utilisateur Azure AD existant depuis lequel vous pourrez vous authentifier à WorkflowGen pour pouvoir utiliser l'application.

  • Assurez-vous d'avoir bien configuré l'authentification déléguée à Azure AD sur votre instance de WorkflowGen en suivant les instructions dans la section Authentification Azure Active Directory.

Configuration d'Azure Active Directory

Étape 1 : Inscrivez une nouvelle application Web

  1. Dans le portail Azure, cliquez sur App registrations dans la section Azure Active Directory.

  2. Cliquez sur New application registration, puis saisissez les propriétés :

    • Name : Votre nom SPA

    • Supported account type : Accounts in this organizational directory only Note : En fonction du contexte, vous devez choisir la bonne option pour votre cas d'utilisation pour la valeur du type de compte supporté.

    • Redirect URI :

      • Type : Web

      • Value : https://<your SPA login url>

  3. Cliquez sur Register en bas de la page.

Vous devriez maintenant voir la page d'aperçu de votre application inscrite.

Étape 2 : Autorisez le flux d'octroi implicite sur l'inscription

  1. Cliquez sur Authentication.

  2. Naviguez à la sous-section Implicit Grant dans la section Advanced settings.

  3. Cochez les boîtes à cocher Access tokens et ID tokens.

  4. Cliquez sur Save.

Étape 3 : Donnez accès à l'API GraphQL

Maintenant que vous avez inscrit votre SPA, vous devez lui donner accès à l'API de WorkflowGen, qui devrait être déjà inscrite si vous avez satisfait les prérequis.

  1. Cliquez sur API permissions.

  2. Dans la section API permissions, cliquez sur Add a permission.

  3. Cliquez sur My APIs, puis sélectionnez l'application WorkflowGen Server.

  4. Cliquez sur Delegated permissions, puis sélectionnez user_impersonation.

  5. Cliquez sur Add permissions.

Vous devriez maintenant voir l'API GraphQL de WorkflowGen dans la liste des permissions requises de votre SPA inscrite. Lors d'une requête de jeton d'accès à Azure, selon l'audience vous devriez pouvoir obtenir un jeton valide que vous enverrez vers l'API GraphQL de votre instance de WorkflowGen en plus de la demande.