Applications monopage

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 monopage (« 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 Auth0 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 : inscrire 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 Auth0 pour pouvoir le configurer.

  • Assurez-vous d'avoir approvisionné un utilisateur Auth0 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 à Auth0 sur votre instance de WorkflowGen en suivant les instructions dans la section Authentification Auth0.

Étape 1 : Inscrivez une nouvelle application Web

  1. Cliquez sur Create Application dans la section Applications du portail Auth0.

  2. Renseignez le formulaire :

    • Name : Votre nom SPA

    • Type : Single Page Web Applications

  3. Cliquez sur Create en bas de la page.

Vous devriez maintenant voir la page de votre application inscrite.

Étape 2 : Ajoutez des URLs de redirection

  1. Dans l'onglet Settings, défilez vers le bas jusqu'à la section Allowed Callback URLs et ajoutez-y l'URL de connexion (p.ex. : https://localhost/login/callback).

  2. Si vous supportez la déconnexion de Auth0, défilez vers le bas à la section Allowed Logout URLs et ajoutez votre URL de redirection post-déconnexion (p.ex. : https://localhost/logout/return).

Vérifiez l'inscription

  • Vous devez avoir un ID client, qui se trouve dans l'onglet Settings de la page de l'application.

  • Vous devez avoir votre nom de domaine Auth0, qui se trouve à côté de votre photo de profil en haut à droite du portail.

Votre application devrait maintenant être liée à l'infrastructure et les utilisateurs pourront se connecter depuis l'application. Si vous avez satisfait aux prérequis, votre application recevra un jeton d'accès qu'elle pourra ensuite envoyer à l'API GraphQL de WorkflowGen pour effectuer des demandes autorisées en tant que jeton du porteur via l'en-tête d'autorisation.