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 fournit des instructions sur la façon de configurer Azure AD avec une application monopage afin que les utilisateurs puissent s'authentifier via celle-ci et envoyer des requêtes à l'API WorkflowGen GraphQL. Cette configuration se fait en trois étapes : l'enregistrement de votre application monopage, l'octroi de l'accès à l'API et la définition de certaines URLs de redirection.

Prérequis

  • Assurez-vous d'avoir une copie de WorkflowGen sous licence installée et en fonctionnement sur un serveur Web IIS en mode de connexion sécurisé HTTPS.

  • Assurez-vous d'avoir un accès administratif à Azure AD pour pouvoir le configurer correctement.

  • Assurez-vous d'avoir approvisionné un utilisateur Azure AD existant avec lequel vous pouvez vous authentifier auprès de WorkflowGen afin de pouvoir utiliser l'application par la suite.

  • 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 avec l'application WorkflowGen GraphQL API également inscrite.

Configuration d'Azure Active Directory

Étape 1 : Inscrivez une nouvelle application Web

  1. Dans le portail Azure, cliquez sur Inscriptions d'applications dans la section Azure Active Directory.

  2. Cliquez sur Nouvelle inscription, puis entrez les propriétés :

    • Nom : Mon nom SPA

    • Types de comptes pris en charge : Comptes dans cet annuaire d'organisation uniquement (Locataire unique)

      ✏️ Note : En fonction du contexte, vous devez choisir la bonne option pour votre cas d'utilisation pour la valeur du type de compte supporté.

    • URI de redirection :

      • Type : Web

      • Valeur : https://<mon url de connexion SPA>

  3. Cliquez sur S'inscrire en bas de la page.

Vous avez maintenant inscrit avec succès votre application dans Azure Active Directory.

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

  1. Cliquez sur Authentification.

  2. Naviguez à la sous-section Octroi implicite et flux hybrides.

  3. Cochez les cases Jetons d'accès et Jetons d'ID.

  4. Cliquez sur Enregistrer.

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

Maintenant que vous avez enregistré avec succès votre application monopage, vous devez lui accorder l'accès à l'application WorkflowGen GraphQL API, qui devrait déjà être inscrite si vous avez rempli les conditions préalables.

  1. Cliquez sur API autorisées.

  2. Dans la section Autorisations configurées, cliquez sur Ajouter une autorisation.

  3. Cliquez sur Mes API, puis sélectionnez l'application WorkflowGen GraphQL API dans la liste.

  4. Cliquez sur Autorisations déléguées, puis cochez defaut dans la colonne Autorisations.

  5. Cliquez sur Ajouter des autorisations.

  6. Dans la page API autorisées, cliquez sur Accorder un consentement d'administrateur pour <votre nom de locataire>, puis cliquez sur Oui.

Vous devriez maintenant voir WorkflowGen GraphQL API dans la liste des autorisations d'API de votre application monopage enregistrée. Par conséquent, lorsque vous demandez un jeton d'accès à Azure, en fonction de l'audience, vous devriez pouvoir obtenir un jeton correct que vous enverrez à l'API GraphQL de votre instance WorkflowGen en plus de la demande.

Pour plus d'informations sur le flux d'octroi des informations d'identification du client OAuth 2.0 d'Azure et des exemples supplémentaires, voir le guide Plateforme d’identités Microsoft et flux d’informations d’identification du client OAuth 2.0.