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

    • Application type: Web app / API

    • Sign-on URL: https://<votre URL de login SPA>

  3. Cliquez sur Create en bas de la page.

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

Étape 2 : 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 Settings.

  2. Dans la section API Access, cliquez sur Required permissions, puis cliquez sur Add.

  3. Cliquez sur Select an API.

  4. Recherchez l'application de l'API GraphQL de WorkflowGen et sélectionnez-la.

  5. Cliquez sur Select permissions, puis cochez toutes les cases à cocher.

  6. Cliquez sur Select.

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.