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.
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.
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.
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.
Sélectionnez la méthode de connexion OIDC - OpenID Connect, sélectionnez Single-Page Application comme type d'application, puis cliquez sur Next.
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
Cliquez sur Save.
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
.