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 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 Okta avec une application monopage (« SPA ») avec laquelle les utilisateurs pourront s'authentifier et faire des requêtes à l'API GraphQL. Cette configuration se fait en deux étapes : l'enregistrement de votre SPA, puis le paramétrage de certaines URL 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 un accès administratif à Okta pour pouvoir le configurer correctement.

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

Configuration d'Okta

Créez une nouvelle application monopage

  1. Dans votre portail de développeur Okta, accédez à l'élément Applications sous le menu Applications, puis cliquez sur le bouton Create App Integration.

  2. Entrez les informations suivantes :

    • App integration name : My SPA, ou le nom de votre application monopage

    • Grant type : Cochez Authorization Code

    • Sign-in redirect URIs : L'URI de redirection de connexion pour votre application monopage

    • Sign-out redirect URIs : L'URI de redirection de déconnexion pour votre application monopage

    • Base URIs : L'URI de base de votre application monopage

    • Controlled access : Cochez Allow everyone in your organization to access

  3. Cliquez sur Save.

Vérifiez l'inscription

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

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