Authentification
Aperçu
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.
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.