Intégration AD FS
Aperçu
Cette section fournit des instructions sur :
L'authentfication AD FS 2016 : Comment configurer l'authentification WorkflowGen avec AD FS OpenID Connect.
La configuration d'AD FS pour les applications mobiles : Comment autoriser l'accès aux applications mobiles avec OpenID Connect et AD FS.
La configuration d'AD FS 2016 pour les scripts côté serveur : Comment autoriser WorkflowGen pour accéder aux scripts côté serveur avec OpenID et AD FS
La configuration d'AD FS 2016 pour les applications monopage : Comment autoriser WorkflowGen à accéder aux applications monopage à l'aide d'AD FS
La génération d'un lien universel pour WorkflowGen Plus : Comment générer un lien universel pour simplifier la connexion des utilisateurs à l'application mobile WorkflowGen Plus.
Ces instructions s'appliquent uniquement à AD FS 2016.
Dans les instructions, remplacez
<workflowgen url>
par la domaine et le chemin à votre instance de WorkflowGen; par exemple,localhost/wfgen
ouwww.macompagnie.com/wfgen
.
Authentification AD FS 2016
Cette section contient les instructions sur la configuration de l'authentification déléguée avec Active Directory Federation Services (AD FS) OpenID Connect, et vous montrera comment créer une instance de WorkflowGen utilisant AD FS pour l'authentification des utilisateurs.
Prérequis
Assurez-vous d'avoir une copie de WorkflowGen sous licence installée et en fonctionnement sur un serveur.
Assurez-vous d'avoir installé et configuré AD FS 2016 ou version ultérieure sur un serveur.
Assurez-vous d'avoir l'accès d'administrateur AD FS pour pouvoir configurer AD FS.
Assurez-vous d'avoir approvisionné un utilisateur Active Directory existant depuis lequel vous pourrez vous authentifier à WorkflowGen et que cet utilisateur a les permissions d'accès d'administrateur. Ceci est important car une fois que vous aurez activé la délégation, vous devrez toujours pouvoir gérer l'application.
Le mode de chiffrement AES et sa clé sont requis pour que l'authentification fonctionne.
Note sur l'approvisionnement des utilisateurs et des groupes
WorkflowGen supporte la synchronisation des utilisateurs et des groupes Active Directory; pour les instructions sur la configuration, voir la section Configuration avancée dans le Guide technique de WorkflowGen.
Configuration d'AD FS
La configuration d'AD FS est très simple; il faut tout simplement ajouter un nouveau groupe d'applications dans lequel vous configurez ensuite l'application serveur et un API Web.
Étape 1 : Inscrivez un nouveau groupe d'applications
Dans le gestionnaire de serveur, ouvrez AD FS Management.
Cliquez sur le répertoire Application Groups dans le panneau à gauche, puis cliquez sur Add Application Group dans le panneau à droite.
Dans l'écran Add Application Group Wizard qui s'affiche :
Saisissez le nom du groupe :
WorkflowGen
Sélectionnez le modèle :
Server application accessing a web API
Cliquez sur Next.
Dans l'écran Server application :
Saisissez le nom de l'application :
WorkflowGen - Server application
Copiez l'identifiant du client, dont vous aurez besoin dans la configuration de WorkflowGen plus tard.
Saisissez l'URI de redirection :
https://<workflowgen url>/auth/callback
Cliquez sur Add. Vous devriez maintenant voir l'URI de redirection dans la liste sous le champ Redirect URI.
Cliquez sur Next.
Générez une clé secrète client dans l'écran Configure Application Credentials :
Cochez seulement la case à cocher Generate a shared secret.
Copiez la clé car vous ne pourrez plus la retrouver plus tard.
Cliquez sur Next.
Configurez le nom et l'identifiant de l'APi GraphQL de WorkflowGen dans l'écran Configure Web API :
Saisissez le nom de l'application :
WorkflowGen GraphQL API
Saisissez l'identifiant de l'API :
https://<workflowgen url>/graphql
Cliquez sur Add.
Cliquez sur Next.
Configurez l'accès GraphQL à l'application Web WorkflowGen :
Assurez-vous que l'application Web WorkflowGen (
WorkflowGen - Server application
) est dans la liste Client application.Cochez
openId
,profile
etemail
.Cliquez sur Next.
Examinez la section de sommaire et complétez le groupe d'applications.
Vous devriez maintenant avoir un group d'applications qui contient deux applications : l'application serveur de WorkflowGen (qui est l'application Web) et l'API GraphQL de WorkflowGen.
Étape 2 : Ajoutez l'UPN au jeton d'accès
Par défaut, un UPN d'utilisateur n'est pas inclus dans le jeton d'accès retourné par AD FS, donc vous devez configurer un règle de transformation d'émission (« Issuance Transform Rule ») pour l'API GraphQL qui passe par l'UPN. Pour ce faire :
Dans AD FS Management, cliquez sur le répertoire Application Groups à gauche, puis double-cliquez sur le groupe WorkflowGen.
Vous devriez maintenant voir toutes les applications du groupe dans une nouvelle fenêtre. Double-cliquez sur
WorkflowGen GraphQL API
dans la liste.Cliquez sur Add Rule sur l'onglet Issuance Transform Rules.
Sur l'écran Select Rule Template, sélectionnez le modèle de règle de revendication
Pass Through or Filter an Incoming Claim
, puis cliquez sur Next.Sur l'écran Configure Rule :
Saisissez
Pass through UPN
dans le champ Claim rule name.Sélectionnez
UPN
dans la liste déroulante Incoming claim type.Assurez-vous que Pass through all claim values est sélectionné.
Cliquez sur Finish.
AD FS est maintenant configuré pour l'authentification déléguée depuis WorkflowGen.
Configuration de WorkflowGen
Vous devez maintenant configurer WorkflowGen pour déléguer l'authentification à AD FS.
Étape 1 : Ajoutez les valeurs AD FS au web.config
de WorkflowGen
web.config
de WorkflowGenOuvrez le fichier web.config
de WorkflowGen et ajoutez les propriétés suivantes sous <appSettings>
:
Remplacez
<CLIENT ID>
par l'identifiant de client généré par AD FS pour l'application WorkflowGen.Remplacez
<CLIENT SECRET>
par la clé secrète partagée générée pour l'application WorkflowGen.Remplacez
<METADATA URL>
par l'URL des métadonnées du serveur AD FS. Par défaut, il devrait ressembler àhttps://<adfs url>/adfs/.well-known/openid-configuration
.
Pour des informations sur les options de configuration disponibles à utiliser avec votre instance, consultez l'annexe Paramètres de configuration Web et d'application.
Si votre serveur empêche les navigateurs d'incorporer du contenu Web dans des iFrames (en renvoyant l'en-tête
X-Frame-Options: DENY
), il est fortement recommandé de régler la valeur deApplicationSecurityAuthSessionRefreshEnableIFrame
surN
. Sinon, lorsque la session expire et un utilisateur soumet un formulaire, il sera redirigé pour authentification et les données saisies dans le formulaire seront perdues.Si vous utilisez AD FS 2016 ou version ultérieure, vous pouvez configurer l'en-tête
X-Frame-Options
pour permettre aux origines spécifiées d'incorporer le contenu AD FS dans une iFrame. Dans ce cas, vous pouvez régler la valeur deApplicationSecurityAuthSessionRefreshEnableIFrame
surY
, car l'auto rafraîchissement fonctionnera comme prévu.
WorkflowGen est maintenant lié à AD FS et réciproquement. La dernière étape est de configurer quelques options pour finaliser le « câblage interne ».
Étape 2 : Ajoutez des valeurs de sécurité pour la génération de session
Pour générer un jeton de session, vous devez ajouter quelques configurations au fichier web.config
.
Ouvrez le fichier
web.config
de WorkflowGen et ajouter la propriété suivante sous<appSettings>
:Remplacez
<SECRET>
par une valeur qui ne peut pas être devinée, comme un UUID.
Le secret sera seulement accessible dans votre instance de WorkflowGen, donc lors de la génération du jeton de session, WorkflowGen le signera avec ce secret afin de vérifier la validité de tous les jetons qui seront envoyés.
Étape 3 : Activez la délégation d'authentification
Vous devez maintenant activer la délégation en remplaçant le système d'authentification dans IIS et faire pointer les modules de WorkflowGen au module d'authentification correct.
Configurez IIS
Dans IIS Manager, cliquez sur l'application WorkflowGen dans l'arborescence.
Cliquez sur le bouton Authentication.
Activez Anonymous Authentication et désactivez toutes les autres authentification.
Répétez ces étapes pour toutes les sous-applications.
Ajoutez des propriétés aux fichiers web.config
de certains modules
Certains modules doivent faire vérifier leur authentification par le module d'authentification spécial de WorkflowGen Advantys.Security.JWTAuthenticationModule
, tandis que certains autres modules ne le doivent pas parce qu'ils sont soit publics ou ne font pas partie du système d'authentification global.
Ajoutez la propriété suivante au fichier
web.config
de WorkflowGen :Ajoutez la propriété suivante au fichier
web.config
du moduleauth
:Cette ligne enlève le module d'authentification Node.js du système d'authentification global, car cette application Node.js encapsule les mécanismes d'authentification de OpenID connect.
Répétez les deux étapes ci-haut pour les modules
hooks
etscim
.Copiez les assemblies et bibliothèques de dépendances .NET suivants de
\wfgen\bin
dans les dossiers\bin
de tous les formulaires Web personnalisés (\wfgen\wfapps\webforms\<custom webform>\bin
) :Advantys.My.dll
Advantys.Security.dll
Newtonsoft.Json.dll
jose-jwt.dll
Vous devriez maintenant avoir une instance de WorkflowGen en fonctionnement avec l'authentification déléguée à AD FS via le protocole OpenID Connect. Assurez-vous d'avoir approvisionné vos utilisateurs à WorkflowGen afin qu'ils puissent accéder à WorkflowGen.
Configurer l'authentification sans l'API GraphQL
Cette fonctionnalité n'est pas supportée pour AD FS. Il est nécessaire de configurer l'API GraphQL sur le fournisseur.
Configuration d'AD FS 2016 pour les applications mobiles
Les applications mobiles doivent suivre une approche semblable à celle des applications Web ordinaires appelée « Authorization Code Flow with Proof Key for Code Exchange (PKCE) ». La principale distinction entre PKCE et le « Authorization Code Flow » classique est que l'application mobile ne reçoit pas de clé secrète client; à la place, elle échange une paire de codes pour prouver l'origine de la tentative d'authentification. Le problème est qu'on ne peut pas se fier à une application mobile car elle est distribuée librement aux utilisateurs et donc elle n'est plus sous le contrôle, puis les sources pourraient être décompilées et analysées pour révéler les clés secrètes client.
Cette section contient les instructions sur comment configurer AD FS pour les applications mobiles afin que vos utilisateurs mobiles puissent aussi bénéficier de l'authentification déléguée.
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 AD FS pour pouvoir le configurer.
Assurez-vous d'avoir approvisionné un utilisateur Active Directory existant depuis lequel vous pourrez vous authentifier à WorkflowGen pour pouvoir utiliser l'application après.
Assurez-vous d'avoir installé la plus récente version de WorkflowGen Plus sur votre appareil et que l'appareil est supporté.
Assurez-vous d'avoir bien configuré l'authentification déléguée à AD FS sur votre instance de WorkflowGen en suivant les instructions dans la section Authentification AD FS.
Configuration d'AD FS
Cette configuration se fait dans plusieurs étapes. D'abord, vous devez inscrire une nouvelle application native dans AD FS. Ensuite, vous devez donner à l'application les permissions requises pour accéder à l'API GraphQL de WorkflowGen.
Étape 1: Inscrivez une nouvelle application native
Dans la fenêtre AD FS Management, naviguez au dossier Application Groups, puis doublez-cliquez sur le groupe WorkflowGen.
Cliquez sur Add application.
Configurez l'application :
Name :
WorkflowGen Plus
Copiez l'identifiant, dont vous aurez besoin dans l'application.
Redirect URI :
workflowgenplus://auth.authenticate
Cliquez sur Add, puis cliquez sur Next.
Vérifiez la configuration et lorsque vous aurez terminé, cliquez sur Next puis sur Close.
Vous avez maintenant ajouté l'application native WorkflowGen Plus
à votre groupe d'applications AD FS WorkflowGen.
Étape 2 : Donnez accès à l'API GraphQL
Dans la fenêtre AD FS Management, naviguer au dossier Application Groups, puis cliquez sur le groupe WorkflowGen.
Double-cliquez sur l'application WorkflowGen GraphQL API.
Dans l'onglet Client Permissions, cliquez sur l'application WorkflowGen Plus, puis cliquez sur Add.
Sélectionnez WorkflowGen Plus dans la liste des autorisations d'applications.
Assurez-vous que les portées
openid
,profile
etemail
sont cochées.Cliquez sur OK, puis cliquez sur OK dans le menu du groupe d'applications WorkflowGen.
L'app mobile WorkflowGen Plus est maintenant configurée dans AD FS.
Configuration d'AD FS pour pour les scripts côté serveur
Dans certains cas, vous voudrez effectuer une tâche spécifique qui peut être automatisée mais qui doit pouvoir accéder à l'API GraphQL de WorkflowGen; ce cas d'usage est souvent sous forme de script côté serveur. Pour ceci, OAuth2 fournit un type d'autorisation appelé Client Credentials qui échange tout simplement un ID client et une clé secrète client pour un jeton d'accès. Il n'y a aucun jeton ID car ceci ne fait pas partie du standard OpenID Connect, et aucun utilisateur n'est impliqué.
Cette section contient les instructions sur comment configurer AD FS avec un script côté serveur qui a accès à l'API GraphQL.
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 WorkflowGen.
Assurez-vous d'avoir l'accès d'administrateur AD FS pour pouvoir configurer AD FS.
Assurez-vous d'avoir bien configuré l'authentification déléguée à Ad FS sur votre instance de WorkflowGen en suivant les instructions dans la section Authentification AD FS.
Configuration d'AD FS
Étape 1 : Inscrivez une nouvelle application serveur
Dans la fenêtre AD FS Management, naviguez au dossier Application Groups, puis double-cliquez sur le groupe WorkflowGen.
Dans la fenêtre WorkflowGen Properties, cliquez sur Add application.
Sélectionnez le type Server application, puis cliquez sur Next.
Configurez l'application serveur :
Name :
Mon application serveur
Copiez l'identifiant du client; vous en aurez besoin pour le flux Client Credentials Grant car vous ne pourrez plus le retrouver plus tard.
Ajoutez un URI de redirection. Il importe peu ce que vous saisissez car le flux Client Credentials Grant n'utilise pas cette valeur.
Cliquez sur Add, puis cliquez sur Next.
Dans la fenêtre Configure Application Credentials, générez une clé secrète client pour l'application serveur :
Cochez Generate a shared secret.
Copiez la valeur; vous en aurez besoin pour le flux Client Credentials Grant.
Cliquez sur Next.
Vérifiez la configuration puis cliquez sur Next.
Cliquez sur Close.
Vous devriez maintenant voir la nouvelle application serveur listée dans le group d'applications WorkflowGen.
Étape 2 : Donnez accès à l'API GraphQL
Maintenant que vous avec créé l'application serveur, vous devez lui donner accès à l'API GraphQL. Pour ce faire :
Dans la fenêtre AD FS Management, naviguez au dossier Application Groups, puis cliquez sur le groupe WorkflowGen.
Dans la fenêtre WorkflowGen Properties, double-cliquez sur WorkflowGen GraphQL API.
Dans l'onglet Client Permissions dans la fenêtre WorkflowGen GraphQL API, cliquez sur Add.
Cliquez sur l'application serveur que vous avec créée dans la section précédente, puis cliquez sur Add.
Vous devriez maintenant voir votre application serveur dans la liste d'applications clientes; assurez-vous qu'elle est sélectionnée.
Assurez-vous que les portées
openid
,profile
etemail
sont cochées.Cliquez sur OK.
Vous avez maintenant inscrit votre application serveur dans AD FS et lui a donné accès à l'API GraphQL de WorkflowGen.
Configuration de WorkflowGen
Comme pour l'approvisionnement des utilisateurs, WorkflowGen doit savoir quelle application accède à l'API GraphQL. Vous devez donc inscrire l'application, qui est constituée de votre script.
Inscrivez une nouvelle application
Dans la page Applications du module d'administration de WorkflowGen, cliquez sur Nouvelle application.
Renseignez le formulaire :
Name :
Mon application serveur
Description : Une description qui indique clairement qui identifie clairement le script
Type :
Non-interactive Client
Impersonate username : Un nom d'utilisateur qui a les permissions requises pour accéder à l'API GraphQL
Client ID : L'ID client que vous avez retrouvée plus tôt
Active : Cochez cette case à cocher
Cliquez sur Save.
Votre application devrait maintenant paraître dans la liste d'applications.
Vous devriez maintenant avoir mis en place les composants nécessaires à faire des requêtes à l'API GraphQL depuis votre script en passant le jeton d'accès reçu d'AD FS via le flux Client Credentials Grant.
Configuration d'AD FS 2016 pour les applications monopage
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.
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 AD FS 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 AD FS pour pouvoir configurer AD FS.
Assurez-vous d'avoir approvisionné un utilisateur Active Directory 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 à AD FS sur votre instance de WorkflowGen en suivant les instructions dans la section Authentification AD FS.
Configuration d'AD FS
Actuellement, AD FS supporte trois types d'applications : Native, Serveur et API Web. Comme vous pouvez le constater, il n'y a rien pour les applications monopage dans les navigateurs ou même dans les applications Web régulières qui affiche les pages sur le serveur. Cependant, vous pouvez utiliser les types supportés pour vos besoins. Le type d'application Native vous permet de récupérer un ID client et de définir un URI de rappel qui peuvent être utilisés pour effectuer un flux d'autorisation implicite avec une application monopage; AD FS répondra conformément car elle supporte le protocole OpenID Connect.
Cette configuration se fait dans plusieurs étapes. D'abord, vous devez inscrire une nouvelle application native dans AD FS. Ensuite, vous devez donner à l'application les permissions requises pour accéder à l'API GraphQL de WorkflowGen.
Étape 1 : Inscrivez une nouvelle application native
Dans la fenêtre AD FS Management, naviguez au dossier Application Groups, puis doublez-cliquez sur le groupe WorkflowGen.
Cliquez sur Add application.
Configurez l'application :
Name :
Mon app monopage
Copiez l'identifiant, dont vous aurez besoin dans l'application.
Redirect URI :
https://monappmonopage.com/callback
Cliquez sur Add, puis cliquez sur Next.
Vérifiez la configuration et lorsque vous aurez terminé, cliquez sur Next puis sur Close.
Étape 2 : Donnez accès à l'API GraphQL
Dans la fenêtre AD FS Management, naviguez au dossier Application Groups, puis double-cliquez sur le groupe WorkflowGen.
Double-cliquez sur l'application WorkflowGen GraphQL API.
Dans l'onglet Client Permissions, cliquez sur l'application WorkflowGen Plus, puis cliquez sur Add.
Choisissez Mon app monopage dans la liste des permissions des applications.
Assurez-vous que les portées
openid
,profile
etemail
sont cochées.Cliquez sur OK, puis cliquez sur OK dans le menu du groupe d'applications WorkflowGen.
Vous avez maintenant configuré votre application monopage dans AD FS.
Génération d'un lien universel pour WorkflowGen Plus
Depuis la version 1.2.0 de WorkflowGen Plus et la version 7.11.2 de WorkflowGen serveur, vous pouvez générer un lien universel pour simplifier le processus de connexion Auth0 de vos utilisateurs de l'application mobile WorkflowGen Plus.
URL de base
protocol:
workflowgenplus://
hostname:
auth.init
Paramètres
Vous devez régler les paramètres suivants :
provider :
adfs
client_id : Utilisez l'ID client que vous avez créé antérieurement dans la configuration (p.ex. :
6g909d00-8580-49a4-9003-a30f6b87ae86
).domain : Le nom du domaine AD FS sans le protocole URL (p.ex. :
macompagnie.com
).audience : L'URL de votre API GraphQL de WorkflowGen, dont la valeur doit être encodée URL (p.ex. :
http://workflow.macompagnie.com/wfgen/graphql
).
Le lien universel devrait suivre cette structure :
Une fois que vous aurez généré le lien universel, donnez-le à vos utilisateurs, qui pourront l'utiliser pour se connecter à WorkflowGen Plus par la méthode préconfigurée.
Informations supplémentaires sur l'intégration AD FS
Support des services SOAP
WorkflowGen supporte seulement les requêtes à l'API SOAP en utilisant les méthodes d'authentification classiques. Si vous devez toujours utiliser cette API, vous devez effectuer quelques étapes additionnelles pour la configurer correctement. Pour ce faire :
Créez un nouvel annuaire WorkflowGen séparé pour les utilisateurs de l'API SOAP.
Approvisionnez-le avec des utilisateurs et des groupes au besoin.
Dans Gestionnaire IIS, cochez la méthode d'authentification De base pour l'application
\ws\wfgen
.Dans le fichier
web.config
(situé dans\Inetpub\wwwroot\wfgen
), ajoutez le suivant sous<location path="ws" inheritInChildApplications="false">
:
Options configurables
Le tableau ci-dessous liste toutes les options configurables dans WorkflowGen que vous pouvez utiliser pour personnaliser votre expérience d'authentification; elles se trouvent dans le fichier web.config
de WorkflowGen.
Dernière mise à jour