Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Ce guide décrit toutes les procédures relatives à l’installation, la configuration et la maintenance de WorkflowGen. Il est destiné aux administrateurs système qui seront chargés de l’installation et de la maintenance de cette application.
Vous pouvez personnaliser WorkflowGen selon votre langue et, au besoin, la mise en page exigée.
Pour personnaliser les fichiers de ressources pour votre langue, faites d’abord des copies des fichiers .resx dans les dossiers suivants :
\wfgen\App_GlobalResources
\wfgen\WfApps\WebForms\App_GlobalResources
\wfgen\ws\App_GlobalResources
Ajoutez le code de la langue et, au besoin, un trait d’union suivi par le code du pays au nom du fichier; par exemple .ar-AE pour Arabe et les Émirats arabes unis. Ensuite, personnalisez les fichiers de ressources.
Si la langue personnalisée exige une mise en page particulière, par exemple de droite à gauche, personnalisez les fichiers CSS au besoin en utilisant la méthode décrite dans la section précédente.
Ces sections contiennent des instructions sur la configuration de certaines options avancées de WorkflowGen.
Portail utilisateur : http://[votresite]/wfgen
Module d’administration : http://[votresite]/wfgen/admin
S'il ne vous est pas possible d'ouvrir une session, vérifiez le fichier web.config dans le dossier racine de l'application WorkflowGen (habituellement DISQUE:\Inetpub\wwwroot\wfgen) et validez que la chaîne de caractères de connexion MainDbSource comporte les informations de connexion correctes de la base de données, y compris le serveur, le nom de la base de données, l'ID utilisateur et le mot de passe.
Vous pouvez créer un nouveau processus à partir des exemples de processus intégrés.
Vous pouvez modifier la configuration de la sécurité (comme la méthode d’authentification) en suivant la section Sécurité de ce document.
Voir le guide WorkflowGen pour Azure pour des instructions sur :
La synchronisation Azure Active Directory : Comment configurer la synchronisation des utilisateurs et des groupes avec Azure Active Directory.
L'authentification Azure Active Directory : Comment configurer l'authentification WorkflowGen avec OpenID Connect et Azure Active Directory.
La configuration d'Azure Active Directory pour les apps mobiles : Comment autoriser l'accès aux applications mobiles avec OpenID Connect et Azure Active Directory.
La configuration d'Azure Active Directory pour les scripts côté serveur : Comment autoriser WorkflowGen pour accéder aux scripts côté serveur avec OpenID et Azure Active Directory.
La configuration d'Azure Active Directory pour les applications monopages avec OpenID Connect et Azure Active Directory : Comment autoriser WorkflowGen pour accéder aux applications monopages avec OpenID Connect et Azure Active Directory.
La configuration de la base de données SQL Azure : Comment configurer la base de données de WorkflowGen avec la base de données SQL Azure.
Lecture du scale-out (préversion) : Comment configurer la fonctionnalité facultative de lecture du Scale-Out.
Azure Load Balancer : Comment configurer l'équilibreur de charge d'Azure pour une plus haute disponibilité et une infrastructure plus évolutive.
Azure Files : Comment configurer un partage Azure Files pour utilisation avec WorkflowGen.
Azure SendGrid SMTP : Comment configurer un SMTP Azure SendGrid avec WorkflowGen.
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.
protocol: workflowgenplus://
hostname: auth.init
Vous devez régler les paramètres suivants :
provider : auth0
server_address : L'URL de votre application WorkflowGen, dont la valeur doit être encodée URL (p.ex. : https://macompagnie.com/wfgen)
client_id : Utilisez l'ID client que vous avez créé antérieurement dans la configuration (p.ex. : 7gdj4hs92y).
domain : Le nom du domaine Auth0 sans le protocole URL (p.ex. : mondomaine.auth0.com).
audience : L'URL de votre API GraphQL de WorkflowGen (p.ex. : http://macompagnie.com/wfgen/graphql).
✏️ Note : La valeur doit être encodée URL.
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.
workflowgenplus://auth.init?provider=auth0&server_address=https%3A%2F%2Fmycompany.com%2Fwfgen&client_id=7gdj4hs92y&domain=mydomain.auth0.com&audience=https%3A%2F%2Fmycompany.com%2Fwfgen%2FgraphqlL'utilisation d'une passerelle IIS SMTP locale est fortement recommandée pour améliorer les performances. Une passerelle SMTP locale est configurée pour transférer les emails vers la passerelle SMTP d'entreprise (« hôte actif ») uniquement, de sorte que la sécurité actuelle de l'entreprise sera appliquée.
L'utilisation d'un relais SMTP sur le serveur IIS WorkflowGen présente plusieurs avantages :
Une meilleure performance, puisque les messages sont envoyés directement au relais.
Le serveur SMTP local joue le rôle de tampon pour éviter la perte de emails si le serveur SMTP principal n’est pas disponible.
Les problèmes de connexion sont réduits car le relais gère les problèmes de communication.
Le relais trace les envois par email dans ses propres fichiers journaux.
Le relais vous permet de limiter l'accès à WorkflowGen.
Le relais supporte l'authentification SMTP et le chiffrement (chiffrement TLS) pour se connecter à votre serveur Exchange SMTP (ou à un autre serveur de messagerie).
Assurez-vous que le service SMTP est installé sur le serveur Windows utilisé en tant que passerelle SMTP.
Dans IIS, modifiez les propriétés du Serveur virtuel SMTP par défaut.
Dans l'onglet Accès, cliquez sur Relais.
WorkflowGen supporte également les répertoires de collecte. Les notifications sont créées dans un répertoire de collecte géré par le serveur SMTP. Le chemin d'accès au répertoire de collecte est défini dans la section dans l'onglet Général du du Module d'administration. (Vous pouvez également définir le chemin d'accès au répertoire de collecte comme valeur du paramètre ApplicationSmtpPickupDirectory dans le fichier web.config de WorkflowGen.) Le chemin de répertoire de collecte par défaut est C:\inetpub\mailroot\Pickup.
Une fois que vous avez correctement configuré le répertoire de collecte dans WorkflowGen, vous devez configurer votre service SMTP externe (tel que le serveur IIS SMTP ou Exchange) pour traiter les emails créés par WorkflowGen dans le répertoire de collecte.
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"> :
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.
Cette section fournit des instructions sur l'intégration Auth0.
Comment configurer l'authentification WorkflowGen avec OpenID Connect et Auth0
Comment créer un annuaire avec le connecteur d'auto-approvisionnement
Comment configurer l'authentification déléguée pour l'application mobile WorkflowGen Plus v2 à l'aide d'Auth0
Comment autoriser WorkflowGen pour accéder aux scripts côté serveur à l'aide d'Auth0
Comment autoriser WorkflowGen pour accéder aux applications monopage à l'aide d'Auth0
Comment autoriser l'accès Auth0 à l'interface de ligne de commande (CLI) WorkflowGen
Comment générer un lien universel pour simplifier la connexion des utilisateurs à l'application mobile WorkflowGen Plus
Informations supplémentaires sur le support des services SOAP et l'approvisionnement des utilisateurs et des groupes
Depuis 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 v2.
protocol: workflowgenplus://
hostname: auth.init
Vous devez régler les paramètres suivants :
provider : adfs
server_address : L'URL de votre application WorkflowGen, dont la valeur doit être encodée URL (p.ex. : https://macompagnie.com/wfgen).
client_id : Utilisez l'ID client que vous avez créé antérieurement dans la configuration (p.ex. : 6g909d00-8580-49a4-9003-a30f6b87ae86
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.
Cette section contient des instructions sur l'intégration AD FS.
Comment configurer l'authentification WorkflowGen à l'aide d'AD FS
Comment configurer l'authentification déléguée pour l'application mobile WorkflowGen Plus v2 à l'aide d'AD FS
Comment autoriser WorkflowGen à accéder aux scripts côté serveur à l'aide d'AD FS.
Comment autoriser WorkflowGen à accéder aux applications monopage à l'aide d'AD FS
Comment générer un lien universel pour simplifier la connexion des utilisateurs à l'application mobile WorkflowGen Plus
Informations supplémentaires sur le support des services SOAP et les options configurables
Pour permettre un plus haut niveau de performance et de disponibilité de l’application, il est possible d’installer WorkflowGen en architecture de type « web farm ». L’application est alors installée sur plusieurs serveurs, mais la base de données et le répertoire de stockage sont centralisés sur un serveur dédié.
Les requêtes des utilisateurs sont alors automatiquement dirigées vers des serveurs différents en fonction de la charge et de l’occupation des différents serveurs. Vous pouvez choisir parmi différentes méthodes d'équilibrage de charge (« load balancing ») telles que le DNS Round Robin ou l’installation d’un répartiteur de charge (« load balancer »).
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 Auth0 pour les applications mobiles afin que vos utilisateurs mobiles puissent aussi bénéficier de l'authentification déléguée.
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.
Créez un nouvel annuaire WorkflowGen séparé pour les utilisateurs de l'API SOAP.
Windows 11
macOS
Chrome
Firefox
Edge
Safari
Résolution 1280 × 800 ou supérieure
Pour l'éditeur de formulaire, la résolution minimale conseillée est 1366 × 768
La configuration requise pour le serveur Web qui héberge WorkflowGen est la suivante :
Windows Server 2016 ou supérieur (toutes les versions)
Windows 11 (recommandé pour les environnements de développement seulement)
Microsoft IIS 10 ou supérieur
.NET Framework 4.8
IIS URL Rewrite (requiert IIS)
Serveur Web (IIS)
Fonctionnalités .NET Framework 4.8 :
.NET Framework 4.8
ASP.NET 4.8
Sécurité :
Authentification de base
Authentification Windows (facultative)
Développement d'applications :
ASP.NET 4.8
Extensibilité .NET 4.8
Extensions ISAPI
Filtres ISAPI
Processeur quadricœur
16 Go RAM
Disque dur SATA avec 40 Go de disponibles
Référez-vous au guide WorkflowGen Fonctionnalités et prérequis techniques pour les spécifications les plus à jour dépendamment des niveaux de services désirés.
Pour utiliser les API GraphQL, webhooks entrants, OpenID Connect Auth et SCIM facultatives, vous devez d'abord installer les prérequis suivants :
Visual C ++ Redistributable
✏️ Note : Cette bibliothèque est requise si vous rencontrez l'erreur Le module spécifié est introuvable (The specified module could not be found) concernant les bibliothèques edge et edge-js lors de l'accès aux applications Web /wfgen/graphql, /wfgen/hooks ou /wfgen/scim.
La configuration requise pour le serveur de base de données qui héberge la base de données WorkflowGen est comme suit :
Processeur quadricœur
16 Go RAM
Disque dur SATA avec 40 Go de disponibles
Microsoft SQL Server 2025 Preview
Azure SQL Database avec la fonctionnalité Integrated Vectorization Preview
PostgreSQL 17.6
Référez-vous au guide WorkflowGen Fonctionnalités et prérequis techniques pour les spécifications les plus à jour dépendamment des niveaux de services désirés.
Authentification Windows intégrée ou IIS Basic (Active Directory)
Applicative (WorkflowGen)
Authentification par formulaires
Personnalisée (SSO : « single sign-on »)
OpenID Connect
SAML v2.0
Active Directory (supporte toutes les versions de Windows Server 2016 et ultérieures)
Annuaire compatible LDAP
Fichiers texte
SCIM
Approvisionnement automatique
Les notifications email sont envoyées par le protocole SMTP (Exchange et HCL Notes sont compatibles)
Tout client email peut recevoir des notifications WorkflowGen
La mise en page et le contenu email peuvent être personnalisés en HTML ou texte brut
Pour de meilleures performances, vous devrez utiliser la passerelle SMTP IIS (voir la section Utilisation de la passerelle SMTP IIS).
WorkflowGen fournit un fil RSS en XML (appelé le module Portlet) pour incorporer des données WorkflowGen dans un portail Web existant. Pour plus d'informations, consultez le Guide d'administration WorkflowGen.
Dans la section Applications du portail Auth0, cliquez sur Create Application.
Renseignez le formulaire :
Name : CLI WorkflowGen
Type : Native
Cliquez sur Create en bas de la page.
Vous avez maintenant inscrit une nouvelle application native dans Auth0.
Dans l'onglet Settings, défilez vers le bas jusqu'à la section Allowed Callback URLs et ajoutez-y l'URL http://127.0.0.1:8888/callback.
Dans Settings > Advanced Settings > Grant Types, assurez vous que les cases Implicit , Authorization Code et Refresh Token sont bien cochées.
Puisque toutes les applications dans un domaine peuvent automatiquement accéder entre eux, votre application native hérite l'accès à l'API GraphQL. Voici un résumé de toutes les informations dont il vous faut :
Un ID client, qui se trouve dans l'onglet Settings dans la page de l'application native.
Un nom de domaine Auth0, qui se trouve dans l'onglet Settings dans la page de l'application native.
Toutes ces informations doivent être données aux utilisateurs qui utiliseront la CLI WorkflowGen.
La configuration du mode non interactif est la même que dans la section sur la configuration d'Auth0 pour les scripts côté serveur.
Voici un résumé des informations dont il vous faut :
Un ID client, qui se trouve dans l'onglet des paramètres de l'application inscrite.
Une clé secrète client, qui se trouve dans l'onglet des paramètres de l'application inscrite.
Le domaine, qui se trouve dans l'onglet des paramètres de l'application inscrite.
Vous pouvez désormais utiliser la CLI WorkflowGen en mode Client credentials.
Cliquez sur Appliquer et fermez la fenêtre. (Pour un plus haut niveau de sécurité, donnez uniquement l’accès à l’IP du serveur Web.)
Dans l'onglet Livraison, cliquez sur le bouton Avancé.
Dans le champ Hôte actif, saisissez votre adresse de passerelle SMTP (IP ou nom d'hôte).
Cliquez sur Appliquer.
localhost/wfgenmacompagnie.com/wfgenComment configurer l'authentification WorkflowGen avec Okta
Comment créer un annuaire avec le connecteur d'auto-approvisionnement
Comment configurer l'authentification déléguée pour l'application mobile WorkflowGen Plus v2 à l'aide d'Okta
Comment autoriser WorkflowGen pour accéder aux scripts côté serveur à l'aide d'Okta
Comment autoriser WorkflowGen pour accéder aux applications monopage à l'aide d'Okta
Comment autoriser l'accès Okta à l'interface de ligne de commande (CLI) WorkflowGen
Comment générer un lien universel pour simplifier la connexion à l'application mobile WorkflowGen Plus
Informations supplémentaires sur le support des services SOAP API de WorkflowGen et le support des applications de type service Web
Option
Description
ApplicationSecurityAuthSessionTokenCookie
Le nom du cookie de session généré par le module d'authentification. Valeur par défaut : wfgen_token
✏️ Note : Ceci est utile quand vous avez de multiples instances de WorkflowGen en fonctionnement auxquelles vous voulez accéder lorsque vous y êtes authentifié en même temps.
ApplicationSecurityAuthSessionTimeOut
La durée de la session en secondes. Sa valeur par défaut est le temps d'expiration du jeton d'ID reçu du fournisseur. Valeur par défaut : la valeur d'expiration (« exp value » du jeton Azure ID
ApplicationSecurityAuthMobileSessionTimeOut
La durée de la section en secondes lorsqu'elle est demandée par des appareils mobiles sur le point de terminaison de jeton. Valeur par défaut : 7200 secondes
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://macompagnie.com/wfgen/graphql).
<system.webServer>
<modules>
<remove name="ApplicationSecurityAuthenticationModule" />
</modules>
</system.webServer>workflowgenplus://auth.init?provider=adfs&client_id=6g909d00-8580-49a4-9003-a30f6b87ae86&domain=macompagnie.com&audience=http%3A%2F%2Fworkflow.macompagnie.com%2FwfgenWorkflowGen sur tous les serveurs Web
Délocalisation et centralisation du répertoire de stockage des fichiers
Dossier WebForms partagé pour tous les serveurs Web
Configuration identique pour tous les serveurs WorkflowGen
La délocalisation du répertoire de stockage est détaillée dans la section Configuration de base. Appliquez la configuration de base de ce chapitre avant de modifier la configuration de WorkflowGen.
Si vous avez configuré plusieurs instances de WorkflowGen sur des serveurs Web différents dans une configuration web farm, vous devez partager le même dossier WebForms pour tous les serveurs. Pour ce faire :
Partagez votre dossier WebForms. Celui-ci peut être soit le dossier WebForms local de votre site WorkflowGen principal soit un dossier WebForms sur un serveur de fichiers en réseau.
Si vous utilisez un serveur de fichiers en réseau et que vous avez du contenu dans le dossier WebForms de votre site WorkflowGen principal, nous vous suggérons de copier ce contenu au dossier WebForms partagé.
Une fois le dossier partagé, copiez le chemin UNC.
Procédez comme suit pour chaque instance de WorkflowGen :
Dans IIS, naviguez au dossier d’application WebForms.
Faites un clic droit sur le dossier, puis choisissez Gérer une application / Paramètres avancés.
Remplacez le chemin physique avec le chemin UNC que vous avez copié dans la troisième étape.
Assurez-vous que les permissions requises (modification, lecture et exécution, affichage du contenu du dossier, lecture, écriture) soient bien appliquées au dossier WebForms partagé pour le pool d’applications IIS utilisé par l’application WebForms.
Vérifiez que tous les serveurs Web présentent la même configuration pour l'application WorkflowGen et pour toutes les applications de workflow. Les fichiers web.config doivent tous être identiques.
Le service WorkflowGen Engine est un service Windows qui est installé avec WorkflowGen et devrait être exécuté à partir d'un seul serveur Web. Les autres serveurs devraient exécuter ce service uniquement comme réserve (« backup ») si le service principal devait faire défaut.
La sauvegarde des données et applications se fait de la même façon, sauf qu'elle influe uniquement sur le serveur de fichiers (pour les données de type fichier) et un serveur Web, puisqu'elles présentent des configurations identiques (en ce qui a trait aux applications).
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 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 à Auth0 sur votre instance de WorkflowGen en suivant les instructions dans la section .
Cette configuration se fait dans plusieurs étapes. D'abord, vous devez inscrire une nouvelle application native dans Auth0. Ensuite, vous devez donner à l'application les permissions requises pour accéder à l'API GraphQL de WorkflowGen.
Dans la section Applications du portail Auth0, cliquez sur Create Application.
Renseignez le formulaire :
Name : WorkflowGen Plus
Type : Native
Cliquez sur Create en bas de la page.
Vous avez maintenant inscrit une nouvelle application native dans Auth0.
Dans l'onglet Settings, défilez vers le bas jusqu'à la section Allowed Callback URLs et ajoutez-y l'URL workflowgenplus://oidc.
Défilez vers le bas jusqu'à la section Allowed Logout URLs et ajoutez-y l'URL workflowgenplus://oidc.
Puisque toutes les applications dans un domaine peuvent automatiquement accéder entre eux, votre application native hérite l'accès à l'API GraphQL. Voici un résumé de toutes les informations dont il vous faut :
Un ID client, qui se trouve dans l'onglet Settings dans la page de l'application native.
Un nom de domaine Auth0, qui se trouve directement à gauche de votre photo de profil en haut à droite de la page.
Toutes ces informations doivent être données aux utilisateurs qui utiliseront l'application mobile; ils devront les copier-coller directement dans l'application.
Dans votre portail de développeur Okta, accédez à l'élément Applications sous le menu Applications, puis cliquez sur Create App Integration.
Sélectionnez la méthode de connexion OIDC - OpenID Connect, sélectionnez Native Application comme type d'application, puis cliquez sur Next.
Entrez les informations suivantes :
Name : WorkflowGen CLI
Grant type : Cochez Authorization Code et Refresh token
Sign-in redirect URIs: Définissez l'URL comme http://127.0.0.1:8888/callback
✏️ Note : Le port 8888 est défini par défaut; vous pouvez le modifier s'il est déjà utilisé sur votre ordinateur.
Sign-out redirect URIs : Ne définissez pas d'URL. Effacez le champ s'il y a une valeur par défaut.
Controlled access : Cochez Allow everyone in your organization to access
Cliquez sur le bouton Save.
Si vous avez configuré l'authentification déléguée à Okta sur votre serveur WorkflowGen, vous devez avoir une politique d'accès sur votre serveur d'autorisation Okta à partir de l'API WorkflowGen GraphQL qui permettra à tous les utilisateurs configurés d'y accéder; il n'y a plus rien à faire du côté d'Okta. Voici un résumé des informations dont il vous faut :
Un ID client, qui se trouve dans l'onglet General de la page de l'application native CLI WorkflowGen.
Un point de terminaison des métadonnées, qui consiste en la valeur de la propriété Metadata URI de l'onglet Settings de votre serveur d'autorisation WorkflowGen GraphQL API avec /.well-known/oauth-authorization-server remplacé par /.well-known/openid-configuration.
Toutes ces informations doivent être données aux utilisateurs qui utiliseront la CLI WorkflowGen.
La configuration du mode non interactif est la même que dans la section sur la configuration d'Okta pour les scripts côté serveur.
Voici un résumé des informations dont il vous faut :
Un ID client, qui se trouve dans l'onglet des paramètres de l'application inscrite.
Une clé secrète client, qui se trouve dans l'onglet des paramètres de l'application inscrite.
Le domaine, qui se trouve dans l'onglet des paramètres de l'application inscrite.
Vous pouvez désormais utiliser la CLI WorkflowGen en mode Client credentials.
Approvisionnez-le avec des utilisateurs et des groupes au besoin.
Dans Gestionnaire IIS, cochez la méthode d'authentification De base pour l'application \wfgen\ws.
Dans le fichier web.config (situé dans \Inetpub\wwwroot\wfgen), ajoutez le suivant sous <location path="ws" inheritInChildApplications="false"> :
Les applications de type service Web supportent uniquement les requêtes utilisant les méthodes d'authentification classiques. Si vous devez toujours utiliser ces API, vous devez effectuer quelques étapes supplémentaires pour les configurer correctement.
Assurez-vous d'avoir un compte local ou de domaine provisionné sur votre serveur WorkflowGen. (Il peut s'agir du compte que vous avez utilisé avant de modifier votre méthode d'authentification pour Okta.)
Dans le Gestionnaire IIS, activez la méthode d'authentification de base ou Windows pour votre application (p.ex. : wfapps/webservices/myWebService).
Dans le fichier web.config (situé dans \Inetpub\wwwroot\wfgen), ajoutez le nouvel emplacement suivant sous le dernier emplacement :
<location path=" wfapps/webservices/myWebService" inheritInChildApplications="false">
La structure devrait être la suivante :
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 WorkflowGen Plus v2 afin que vos utilisateurs mobiles puissent aussi bénéficier de l'authentification déléguée.
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.
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.
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 :
Vous avez maintenant ajouté l'application native WorkflowGen Plus à votre groupe d'applications AD FS WorkflowGen.
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.
L'app mobile WorkflowGen Plus est maintenant configurée dans AD FS.
Cette section décrit comment configurer des instances multiples de WorkflowGen sur un seul serveur Web. Chaque instance de WorkflowGen exige aussi une licence dédiée. Cette section part du fait que vous avez déjà installé des instances séparées de WorkflowGen tel qu’indiqué dans la section Configuration.
Pour configurer des instances multiples de WorkflowGen sur un seul serveur, exécutez les étapes ci-dessous. Il est tout à fait possible d’installer plus de deux instances sur le même serveur, mais la procédure suivante vous présente un exemple d’installation de deux instances.
Avant de modifier les services WorkflowGen, vous devez désinstaller les services existants en utilisant le script winsvc-uninstall.cmd qui se trouve dans le dossier \bin de l'installation des services WorkflowGen (p.ex. : DISQUE:\Program Files\Advantys\WorkflowGen\Services\bin\winsvc-uninstall.cmd). Soyez certain que vous êtes l'administrateur du serveur avant de lancer le script.
Pour les deux instances de WorkflowGen, ajouter un nouveau paramètre de configuration au fichier de configuration de service de synchronisation des annuaires WorkflowGen WfgDirectoriesSyncService.exe.config.
Instance 1 :
Modifiez le fichier DISQUE:\Program Files\Advantys\WorkflowGen1\Services\bin\WfgDirectoriesSyncService.exe.config comme suit :
Instance 2 :
Modifiez le fichier DISQUE:\Program Files\Advantys\WorkflowGen2\Services\bin\WfgDirectoriesSyncService.exe.config comme suit :
Pour les deux instances de WorkflowGen, ajouter un nouveau paramètre de configuration au dossier de configuration de service du moteur WorkflowGen WfgWorkflowEngineService.exe.config.
Instance 1 :
Modifiez le fichier DISQUE:\Program Files\Advantys\WorkflowGen1\Services\bin\WfgWorkflowEngineService exe.config comme suit :
Instance 2 :
Modifiez le fichier DISQUE:\Program Files\Advantys\WorkflowGen2\Services\bin\WfgWorkflowEngineService exe.config comme suit :
Pour les deux instances de WorkflowGen, vous aurez besoin de modifier les scripts Shell de Windows qui sont utilisés pour installer et désinstaller les services de Windows WfgDirectoriesSyncService et WfgWorkflowEngineService comme traités ci-dessus.
Script d’installation : DISQUE:\Program Files\Advantys\WorkflowGen1\Services\bin\winsvc-install.cmd
En fonction de la valeur attribuée au paramètre ServiceName définie dans la section du service de synchronisation d'annuaires WorkflowGen mentionnée ci-dessus, votre fichier winsvc-uninstall.cmd devrait ressembler à ceci :
Script de désinstallation : DISQUE:\Program Files\Advantys\WorkflowGen1\Services\bin\winsvc-uninstall.cmd
En fonction de la valeur attribuée au paramètre ServiceName définie dans la section du service de synchronisation d'annuaires WorkflowGen mentionnée ci-dessus, votre fichier winsvc-uninstall.cmd devrait ressembler à ceci :
Script d’installation : DISQUE:\Program Files\Advantys\WorkflowGen2\Services\bin\winsvc-install.cmd
Basée sur la valeur donnée pour le paramètre ServiceName défini dans les sections des services de synchronisation des annuaires et du moteur WorkflowGen au-dessus, votre winsvc-install.cmd devrait apparaître comme suit :
Script de désinstallation :DISQUE:\Program Files\Advantys\WorkflowGen2\Services\bin\winsvc-uninstall.cmd
En fonction de la valeur attribuée au paramètre ServiceName définie dans la section du service de synchronisation du répertoire WorkflowGen mentionnée ci-dessus, votre fichier winsvc-install.cmd devrait ressembler à ceci :
Pour les deux instances, vous devez exécuter les deux programmes d’installation qui ont été modifiés dans la section précédente.
Instance 1 :
DISQUE:\Program Files\Advantys\WorkflowGen1\Services\bin\winsvc-install.cmd
Instance 2 :
DISQUE:\Program Files\Advantys\WorkflowGen2\Services\bin\winsvc-install.cmd
Le connecteur d'auto-approvisionnement est un connecteur d'annuaire qui crée et synchronise un utilisateur automatiquement selon ses revendications des jetons de session qui contiennent les revendications du jeton d'ID du fournisseur OpenID Connect. Cette fonctionnalité est uniquement compatible avec l'authentification OpenID Connect.
Assurez-vous d'avoir une instance de WorkflowGen en fonctionnement.
Assurez-vous de connaître l'adresse IP de l'instance ou son nom complet.
Assurez-vous de connaître l'adresse de l'instance.
Assurez-vous d'avoir configuré Auth0 ou une des autres méthodes conformes OIDC (
Cette section vous guidera à travers les configurations de WorkflowGen nécessaires pour créer la fonctionnalité d'auto-approvisionnement avec un annuaire.
Ce répertoire contiendra tous les utilisateurs qui ne sont pas approvisionnés ailleurs. Pour créer un annuaire d'auto-approvisionnement :
Dans la page Annuaires du module d'administration de WorkflowGen, cliquez sur Nouvel annuaire.
Renseignez le formulaire :
Nom : AUTO_APPROVISIONNEMENT (ou n'importe quoi)
Maintenant que vous avez créé un nouvel annuaire avec le connecteur d'auto-approvisionnement, vous devez définir les correspondances entre les revendications et les champs d'utilisateurs de WorkflowGen. Pour ce faire :
Dans la page du nouvel annuaire, cliquez sur Correspondances.
À droite du nom du champ de l'utilisateur WorkflowGen, saisissez le nom de la revendication dans le jeton de session pour lequel vous voulez créer la correspondance.
Voici un exemple un jeton de session généré par l'application node auth depuis un jeton d'ID Auth0 connecté avec Google Apps :
✏️ Note : Les champs Nom d'utilisateur et Nom sont obligatoires.
Vous avez maintenant activé la fonctionnalité d'auto-approvisionnement et les utilisateurs inconnus peuvent être automatiquement approvisionnés et synchronisés avec WorkflowGen sans aucune action externe requise.
L'exécution automatique des tâches (par exemple, la gestion des exceptions et notifications de retard) est assurée par ce service Windows. Ce service est installé par la configuration et il est démarré automatiquement après l’installation. (Référez-vous à la section Installation des services Windows de WorkflowGen en cas d’utilisation de la procédure manuelle d’installation.)
Si des erreurs ont lieu pendant l'exécution du service, ces erreurs se trouveront dans l'Event Viewer de Windows (source : WorkflowGenEngineService), lequel est accessible sous Administrative Tools de Windows. Tous les messages relatifs à ce service seront affichés dans la section Windows Logs / Application.
Pour gérer l'exécution de ce service Windows, ouvrez Administrative Tools / Services, puis choisissez et ouvrez WorkflowGen Engine (WorkflowGenEngineService).
La synchronisation automatique des utilisateurs et groupes est assurée par ce service Windows. Ce service est installé par la configuration et il est démarré automatiquement après l’installation. (Référez-vous à la section en cas d’utilisation de la procédure manuelle d’installation.)
Si des erreurs ont lieu pendant l'exécution du service, ces erreurs se trouveront dans l'Event Viewer de Windows (source : WorkflowGenEngineService), lequel est accessible sous Administrative Tools de Windows. Tous les messages relatifs à ce service seront affichés dans la section Windows Logs / Application.
Pour gérer l'exécution de ce service Windows, ouvrez Administrative Tools / Services, puis choisissez et ouvrez WorkflowGen Directory Sync (WorkflowGenDirSyncService).
Après une mise à jour de version de WorkflowGen ou une modification du système (telle qu'une mise à jour de serveur ou une modification de configuration), la synchronisation automatique d'annuaire peut échouer avec le message d'erreur Le fichier de licence est manquant, invalide ou votre période d'essai a expiré.
Pour résoudre ce problème, effectuez les vérifications suivantes sur votre système WorkflowGen :
Vérifiez qu’il n’y a qu’un seul fichier de licence (.lic) dans le dossier \wfgen \bin.
Vérifiez que le fichier de licence (.lic) n'est pas verrouillé. Si oui, déverrouillez-le.
Vérifiez que les deux fichiers d'exécution de service WorkflowGen (WfgDirectoriesSyncService.exe
Il vous faudra une licence d’essai, Développeur ou Entreprise pour activer la licence de WorkflowGen.
Il vous faudra un numéro de série pour activer les versions Développeur et Entreprise de WorkflowGen. Si vous n'en disposez pas, veuillez contacter votre revendeur.
Supprimez tous les fichiers .lic existants du dossier DISQUE:\Inetpub\wwwroot\wfgen\bin.
Copiez votre fichier .lic dans le dossier DISQUE:\Inetpub\wwwroot\wfgen\bin.
Assurez-vous que le fichier
web.configPour les versions Développeur et Entreprise de WorkflowGen, vous devez modifier le fichier web.config qui se trouve dans le répertoire DRIVE:\Inetpub\wwwroot\wfgen.
Modifiez le fichier \inetpub\wwwroot\wfgen\web.config.
Inscrivez votre numéro de série sous la valeur du paramètre ApplicationSerialNumber.
Si vous avez une licence par utilisateur, vous ne pouvez pas dépasser le nombre d’utilisateurs supporté par votre licence sinon un message d’erreur sera affiché, mais la gestion des utilisateurs du module d’administration est toujours accessible.
Dans le cas où vous souhaiteriez importer des utilisateurs depuis votre annuaire d’entreprise (Active Directory, LDAP, etc...) et parce qu’uniquement les utilisateurs avec le statut Actif sont prises en compte, vous pouvez choisir selon les différents cas de figure ci-dessous :
Si votre annuaire d’entreprise contient moins d’utilisateurs que le maximum d’utilisateurs supportés par votre licence WorkflowGen, alors vous pouvez importer tous vos utilisateurs avec l’option Statut par défaut d’un nouvel utilisateur définit comme Actif.
Si votre annuaire d’entreprise contient plus d’utilisateurs que le maximum d’utilisateurs supportés par votre licence WorkflowGen, alors vous pouvez importer tous vos utilisateurs avec l’option Statut par défaut d’un nouvel utilisateur définit comme Inactif et décider d’opter pour l’une des deux options suivantes :
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 : )
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.
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 :
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.
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 : )
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.
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.
Cliquez sur Create Application dans la section Applications du portail Auth0.
Renseignez le formulaire :
Name : Votre nom SPA
Vous devriez maintenant voir la page de votre application inscrite.
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).
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).
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.
Le connecteur d'auto-approvisionnement est un connecteur d'annuaire qui crée et synchronise un utilisateur automatiquement selon ses revendications des jetons de session qui contiennent les revendications du jeton d'ID du fournisseur OpenID Connect. Cette fonctionnalité est uniquement compatible avec l'authentification OpenID Connect.
<system.webServer>
<modules>
<remove name="ApplicationSecurityAuthenticationModule" />
</modules>
</system.webServer>Ajoutez le paramètre <add key="ApplicationWebFormsPath" value="" /> avec le chemin UNC comme valeur dans le fichier web.config.
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.
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.
Assurez-vous que les portées openid, profile et email sont cochées.
Cliquez sur OK, puis cliquez sur OK dans le menu du groupe d'applications WorkflowGen.
WfgWorkflowEngineService.exeVérifiez que le compte qui exécute les services WorkflowGen dispose d’un accès en lecture/écriture au dossier \wfgen.
Vérifiez que le compte qui exécute les services WorkflowGen est un administrateur local.
Dans le fichier WfgDirectoriesSyncService.exe.config, remplacez <add key="WebConfigPath" value="..." /> par<add key="webConfigPath" value="..." />.
.licSi vous ne voulez pas vous soucier de l’activation des comptes, vous pouvez laisser l’option Auto-activation cochée. Dans ce cas, les utilisateurs qui se connecteront pour la première fois seront activés jusqu’à ce que le maximum d’utilisateurs autorisés par la licence WorkflowGen ne soit atteint.
Type : Single Page Web Applications
Cliquez sur Create en bas de la page.
Description : Une bonne description de l'annuaire
Connecteur d'annuaire : Approvisionnement automatique
Cliquez sur Enregistrer.
Cliquez sur Enregistrer.
WorkflowGen version 7.12.0 ou ultérieure
SQL Server 2014 ou version ultérieure
Les fichiers d'installation du module de rapports SQL se trouvent dans le dossier \Databases\MsSQLServer\Reporting du pack d'installation manuel de WorkflowGen :
Pour installer les vues SQL :
Ouvrez SQL Server Management Studio (SSMS) ou Azure Data Studio.
Connectez-vous à votre base de données WorkflowGen (p.ex. WFGEN).
Exécutez chacun des fichiers VIEW_PUB_*.sql pour créer les vues SQL.
Pour de meilleures performances sans surcharger la base de données principale WorkflowGen, vous pouvez créer une base de données de rapports SQL dédiée et répliquer les données des vues SQL dans leurs tables spécifiques.
Cela nécessite le service de réplication SQL Server et SSMS. Les vues SQL doivent être créées comme décrit dans la section Installation des vues SQL ci-dessus.
Dans SSMS, exécutez CreateReportingDatabase.sql pour créer la base de données de rapports SQL sur une autre instance de base de données SQL Server.
Configurez votre base de données WorkflowGen en tant que Publisher et Distributor pour publier toutes les vues SQL (p.ex. VIEW_PUB_*).
Configurez la base de données de rapports SQL dédiée en tant que Subscriber pour récupérer les données du Publisher dans la réplication de données en temps réel. Pour chacune des vues SQL, configurez la table respective pour recevoir les données de la vue. Par exemple :
La table DIR_V100 récupère les données de la vue VIEW_PUB_DIR_V100
La table REQ_FILE_V100 récupère les données de la vueVIEW_PUB_REQ_FILE_V100
La base de données de rapports SQL dédiée est maintenant prête à être utilisée pour les rapports de données personnalisés.
<location path="wfapps/webservices/myWebService" inheritInChildApplications="false">
<system.webServer>
<modules>
<remove name="ApplicationSecurityAuthenticationModule" />
</modules>
</system.webServer>
</location><add key="ServiceName" value="WorkflowGenDirSyncService1" /><add key="ServiceName" value="WorkflowGenDirSyncService2" /><add key="ServiceName" value="WorkflowGenEngineService1"/><add key="ServiceName" value="WorkflowGenEngineService2"/>%windir%\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /i "C:\Program Files\Advantys\WorkflowGen1\Services\bin\WfgDirectoriesSyncService.exe"
net start WorkflowGenDirSyncService1
%windir%\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /i "C:\Program Files\Advantys\WorkflowGen1\Services\bin\WfgWorkflowEngineService.exe"
net start WorkflowGenEngineService1
pause%windir%\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /i "C:\Program Files\Advantys\WorkflowGen2\Services\bin\WfgDirectoriesSyncService.exe"
net start WorkflowGenDirSyncService2
%windir%\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /i "C:\Program Files\Advantys\WorkflowGen2\Services\bin\WfgWorkflowEngineService.exe"
net start WorkflowGenEngineService2
pause%windir%\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /i "C:\Program Files\Advantys\WorkflowGen2\Services\bin\WfgDirectoriesSyncService.exe"
net start WorkflowGenDirSyncService2
%windir%\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /i "C:\Program Files\Advantys\WorkflowGen2\Services\bin\WfgWorkflowEngineService.exe"
net start WorkflowGenEngineService2
pause%windir%\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /u "C:\Program Files\Advantys\WorkflowGen2\Services\bin\WfgDirectoriesSyncService.exe" /LogFile=
%windir%\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /u "C:\Program Files\Advantys\WorkflowGen2\Services\bin\WfgWorkflowEngineService.exe" /LogFile=
pause {
"sub": "[email protected]",
"iss": "https://<workflowgen_url>/auth",
"aud": "https://<workflowgen_url>",
"exp": 1535627127,
"https://api.workflowgen.com/username": "[email protected]",
"given_name": "Some",
"family_name": "User",
"nickname": "some-user",
"name": "Some User",
"picture": "https://lh4.googleusercontent.com/path/to/photo.jpg",
"gender": "male",
"locale": "en",
"updated_at": "1970-01-01T00:00:00Z",
"email": "[email protected]",
"email_verified": true,
"nonce": "ffdd6d95-31e6-4466-84c4-43f8c0fbaae7",
"iat": 1535591128
}VIEW_PUB_DIR_V100.sql
VIEW_PUB_DIR_USERS_V100.sql
VIEW_PUB_DIR_GROUPS_V100.sql
VIEW_PUB_DIR_USERS_GROUPS_V100.sql
VIEW_PUB_REQ_DATA_V100.sql
VIEW_PUB_REQ_DATA_V100T.sql
VIEW_PUB_REQ_FILE_V100.sql
VIEW_PUB_REQ_FILE_V100T.sql
VIEW_PUB_REQ_COMMENT_V100T.sql
VIEW_PUB_REQ_ACTION_V100.sql
VIEW_PUB_REQ_ACTION_V100T.sql
VIEW_PUB_REQ_ACTION_DATA_V100.sql
VIEW_PUB_REQ_ACTION_DATA_V100T.sql
VIEW_PUB_REQ_ACTION_FILE_V100.sql
VIEW_PUB_REQ_ACTION_FILE_V100T.sql
CreateReportingDatabase.sqlApp 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.
Assurez-vous d'avoir une instance de WorkflowGen en fonctionnement.
Assurez-vous de connaître l'adresse IP de l'instance ou son nom qualifié complet.
Assurez-vous de connaître l'adresse de l'instance.
Assurez-vous d'avoir configuré Okta ou une des trois autres méthodes conformes OIDC (Azure Active Directory, , ou ).
Cette section vous guidera à travers les configurations de WorkflowGen nécessaires pour créer la fonctionnalité d'auto-approvisionnement avec un annuaire.
Ce répertoire contiendra tous les utilisateurs qui ne sont pas approvisionnés ailleurs. Pour créer un annuaire d'auto-approvisionnement :
Dans la page Annuaires du module d'administration de WorkflowGen, cliquez sur Nouvel annuaire.
Renseignez le formulaire :
Nom : AUTO_APPROVISIONNEMENT (ou n'importe quoi)
Description : Une bonne description de l'annuaire
Connecteur d'annuaire : Approvisionnement automatique
Cliquez sur Enregistrer.
Maintenant que vous avez créé un nouvel annuaire avec le connecteur d'auto-approvisionnement, vous devez définir les correspondances entre les revendications et les champs d'utilisateurs de WorkflowGen. Pour ce faire :
Dans la page du nouvel annuaire, cliquez sur Correspondances.
À droite du nom du champ de l'utilisateur WorkflowGen, saisissez le nom de la revendication dans le jeton de session pour lequel vous voulez créer la correspondance.
Voici un exemple un jeton de session généré par l'application node auth depuis un jeton d'ID Okta connecté avec Google Apps :
✏️ Note : Les champs Nom d'utilisateur et Nom sont obligatoires.
Cliquez sur Enregistrer.
Vous avez maintenant activé la fonctionnalité d'auto-approvisionnement et les utilisateurs inconnus peuvent être automatiquement approvisionnés et synchronisés avec WorkflowGen sans aucune action externe requise.
protocol: workflowgenplus://
hostname: auth.init
Vous devez régler les paramètres suivants :
provider : okta
server_address : L'URL de votre application WorkflowGen, dont la valeur doit être encodée URL (p.ex. : https://macompagnie.com/wfgen).
client_id : Utilisez l'ID client que vous avez créé antérieurement dans la configuration (p.ex. : 0o7gdj4hs92yh7) à partir de l'étape .
metadata_url : L'URL des métadonnées, qui consiste en la valeur de la propriété Metadata URI de l'onglet Settings de votre serveur d'autorisation WorkflowGen GraphQL API avec /.well-known/oauth-authorization-server remplacé par /.well-known/openid-configuration (p.ex. https://{VOTRE_DOMAINE_OKTA}/oauth2/{ID_SERVEUR_AUTH}/.well-known/openid-configuration). La valeur doit être encodée URL.
audience : L'URL de votre API WorkflowGen GraphQL, dont la valeur doit être encodée URL (p.ex. : https://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.
Les données et fichiers de base de données doivent être sauvegardés régulièrement pour préserver la fiabilité des processus et de leurs données associées.
Sauvegardez le dossier DISQUE:\Inetpub\wwwroot\wfgen.
Si vous avez appliqué le stockage de fichiers, sauvegardez le dossier tel qu’indiqué dans le paramètre ApplicationDataPath dans le fichier web.config.
Effectuez une sauvegarde de base de données SQL standard avec les outils fornis avec votre SGBD.
Sauvegardez la base de données SQL avec les outils fournis avec votre SGBD.
Sauvegardez le dossier DISQUE:\Inetpub\wwwroot\wfgen\App_Data.
Prenez les mesures suivantes pour déplacer la base de données du serveur SQL de WorkflowGen d'un serveur à un autre :
Arrêtez les services IIS sur le serveur de production.
Déconnectez la base de données WorkflowGen.
Copiez les fichiers .mdf et .ldf vers le nouvel emplacement.
Prenez les mesures suivantes pour déplacer l'installation de WorkflowGen d'un serveur à un autre :
Arrêtez les services IIS sur le serveur de production.
Configurez la même version de WorkflowGen sur le nouveau serveur.
Copiez le contenu du répertoire DISQUE:\Inetpub\wwwroot\wfgen\App_Data de l'ancien serveur vers le nouveau serveur.
Le seul répertoire à surveiller pour l'espace de stockage est DISQUE:\Inetpub\wwwroot\wfgen\App_Data. Les autres répertoires devraient conserver toujours la même taille puisque tout ce qui est créé dans le temps est stocké dans ce répertoire.
Vous pouvez surveiller la taille de la base de données à travers les fichiers .mdf et .ldf si vous utilisez le serveur SQL ou le faire au moyen des outils DBMS.
Les besoins d’espace mémoire peuvent varier dépendamment de l’option choisie pour le stockage de données de processus, notamment l’option de stocker le contenu des fichiers dans la base de données.
Les fichiers journaux de synchronisation des répertoires se trouvent dans le répertoire \wfgen\App_Data\LogFiles\Dir\Synchro. Vous pouvez consulter et gérer l'historique des journaux directement dans le module d’administration de WorkflowGen au lieu de parcourir les fichiers directement.
Les services Windows devraient toujours fonctionner automatiquement lorsque le serveur démarre. Périodiquement, les services Windows effectueront les tâches nécessaires :
Signaler les exceptions en retard
Envoyer les notifications d'actions en retard
Supprimer les délégations inactives
Supprimer les activités fantômes (des activités initiées mais jamais lancées)
Un module de statistiques est fourni dans le portail utilisateur pour voir des rapports détaillés sur les requêtes et actions. Il est possible d'appliquer plusieurs filtres aux différents rapports et un service d'organigrammes est aussi fourni.
Les fichiers joints qui seront créés pour vos processus en utilisant des formulaires Web seront enregistrés dans le répertoire temporaire DISQUE:\Inetpub\wwwroot\wfgenApp_Data\Files\EFormASPX et seront automatiquement supprimés après 24 heures.
WorkflowGen copie ces fichiers vers une destination permanente. Si l’option de stockage de données des processus est sélectionnée, les fichiers joints seront stockés directement dans la base de données en temps réel. Sinon, ils sont stockés dans le système de fichiers tel que spécifié dans le paramètre ApplicationDataPath (p.ex. : \App_Data\Files\DataSet\runtime).
Si vous savez qu'un processus occupe trop d'espace disque ou trop d’espace dans la base de données dû aux données afférentes, vous pouvez désactiver l'option Archiver les résultats des actions dans la définition du processus. Ceci empêchera la conservation du fichier joint pour chaque action reliée à chaque requête. Seules les données présentes après la dernière action seront conservées sur le disque et dans la base de données.
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 Okta pour les applications mobiles afin que vos utilisateurs mobiles puissent aussi bénéficier de l'authentification déléguée.
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.
Dans votre portail des développeurs Okta, accédez à l'élément Applications sous le menu Applications, puis cliquez sur le bouton Create App Integration.
Sélectionnez les options suivantes sous Create a new app integration, puis cliquez sur Next :
Sign-in method : OIDC - OpenID Connect
Sur la page de votre application native Okta WorkflowGen Plus, accédez à la section General Settings de l'onglet General, puis cliquez sur le bouton Edit.
Entrez les informations suivantes :
Initiate login URI : workflowgenplus://oidc
Si vous avez configuré l'authentification déléguée à Okta sur votre serveur WorkflowGen, vous devez avoir une politique d'accès sur votre serveur d'autorisation Okta WorkflowGen GraphQL API qui permettra à tout client configuré d'y accéder. Par conséquent, il n'y a plus rien à faire du côté d'Okta. Voici un résumé des informations dont il vous faut :
Un ID client, qui se trouve dans l'onglet Settings de la page de l'application native Okta WorkflowGen Plus.
Votre nom de domaine Okta, qui se trouve directement à gauche de votre photo de profil dans le coin supérieur droit de la page.
Toutes ces informations doivent être données aux utilisateurs qui utiliseront l'application mobile; ils devront les copier-coller directement dans l'application.
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.
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
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.
Vous devriez maintenant voir la nouvelle application serveur listée dans le group d'applications WorkflowGen.
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.
Vous avez maintenant inscrit votre application serveur dans AD FS et lui a donné accès à l'API GraphQL 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.
Dans la page Applications du module d'administration de WorkflowGen, cliquez sur Nouvelle application.
Renseignez le formulaire :
Name : Mon application serveur
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.
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 : )
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.
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.
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 monopages 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.
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 :
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.
Vous avez maintenant configuré votre application monopage dans AD FS.
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 Auth0 avec un script côté serveur qui a accès à l'API GraphQL.
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 Auth0 pour pouvoir le configurer.
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
Dans la section Applications du portail Auth0, cliquez sur Create Applications.
Renseignez le formulaire :
Name: Votre nom de script
Vous avez maintenant inscrit votre script dans Auth0.
Dans la section APIs du portail Auth0, cliquez sur WorkflowGen GraphQL API.
Dans l'onglet Machine-to-Machine, autorisez l'application que vous venez de créer.
Vous avez maintenant donné accès l'API GraphQL pour votre script.
Voici un résumé des informations dont il vous faut :
Un ID client, qui se trouve dans l'onglet des paramètres de l'application inscrite.
Une clé secrète client, qui se trouve dans l'onglet des paramètres de l'application inscrite.
L'identifiant de l'API GraphQL de WorkflowGen, qui se trouve dans sa page des paramètres.
Vous êtes maintenant prêt à inscrire votre script dans 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.
Dans la page Applications du module d'administration de WorkflowGen, cliquez sur Nouvelle application.
Renseignez le formulaire :
Name : Mon application serveur
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'Auth0 via le flux Client Credentials Grant.
{
"sub": "[email protected]",
"iss": "https://<workflowgen_url>/auth",
"aud": "https://<workflowgen_url>",
"exp": 1535627127,
"https://api.workflowgen.com/username": "[email protected]",
"given_name": "Some",
"family_name": "User",
"nickname": "some-user",
"name": "Some User",
"picture": "https://lh4.googleusercontent.com/path/to/photo.jpg",
"gender": "male",
"locale": "en",
"updated_at": "1970-01-01T00:00:00Z",
"email": "[email protected]",
"email_verified": true,
"nonce": "ffdd6d95-31e6-4466-84c4-43f8c0fbaae7",
"iat": 1535591128
}workflowgenplus://auth.init?provider=okta&server_address=https%3A%2F%2Fmacompagnie.com%2Fwfgen&client_id=0o7gdj4hs92yh7&metadata_url=https%3A%2F%2F{YOUR_OKTA_DOMAIN}%2Foauth2%2F{AUTH_SERVER_ID}%2F.well-known%2Fopenid-configuration&audience=https%3A%2F%2Fmacompagnie.com%2Fwfgen%2FgraphqlMettez à jour la chaîne de caractères de connexion à partir du Panneau de configuration.
Redémarrez vos services IIS.
Copiez leurs dossiers dans l'arborescence correspondante du nouveau serveur. Par exemple, si vous avez créé un service Web nommé MonServiceWeb qui est situé dans \wfgen\wfapps\WebServices\MonServiceWeb, vous devrez copier le dossier entier vers le même emplacement sur le nouveau serveur.
Créez l’application IIS avec les mêmes options de sécurité de répertoire sur le nouveau serveur pour les applications que vous avez copiées.
Pour les services Web ou applications SDK, assurez-vous de mettre à jour l'URL de l'application dans le module d'administration.
Pour les formulaires Web, assurez-vous de mettre à jour les données FORM_URL dans la définition des processus pour pointer vers le nouveau lien URL.
Répétez cette démarche pour chaque application personnalisée que vous avez créée.
Mettez à jour l'URL de l'application à partir du module de configuration.
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.
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 et email sont cochées.
Cliquez sur OK.
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
Cliquez sur Save.
Mon app monopageCopiez 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.
Assurez-vous que les portées openid, profile et email sont cochées.
Cliquez sur OK, puis cliquez sur OK dans le menu du groupe d'applications WorkflowGen.
Application Type: machine-to-machine
Cliquez sur Create.
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.
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.
Application type : Native Application
Entrez les informations suivantes :
App integration name : WorkflowGen Plus
Grant type : Cochez Authorization Code et Refresh Token
Sign-in redirect URIs : workflowgenplus://oidc
Sign-out redirect URIs : workflowgenplus://oidc
Controlled access : Cochez Allow everyone in your organization to access
Cliquez sur le bouton Save.
Cliquez sur Save.
Des fichiers .css, .js, .gif et .jpg
Des librairies .NET (fichiers .dll)
Une base de données relationnelle (MS SQL Server)
Un service Windows pour la synchronisation des annuaires, gestion des actions en retard, etc.
L’application WorkflowGen peut être installée sur un nouveau site Web IIS ou sur un site existant. Deux modules Web sont fournis avec WorkflowGen :
Le portail utilisateur pour les utilisateurs finaux
Le module d'administration pour les administrateurs et les gestionnaires de processus
Les actions de processus peuvent être traitées par certaines sous-applications Web, telles que EFORMASPX pour afficher des formulaires Web .NET et stocker les données une fois les formulaires soumis. Ces applications peuvent être natives ou développées en suivant les pré-requis et spécifications du SDK (kit de développement logiciel).
Cette application comporte l'application principale. Le portail utilisateur et le module d'administration se trouvent dans cette application :
\wfgen : Portail utilisateur
\wfgen\admin : Module d’administration
\wfgen\bin : Comporte tous les fichiers mémoires qui sont nécessaires pour lancer WorkflowGen
\wfgen\App_GlobalResources : Comporte les fichiers .resx qui sont nécessaires pour la mondialisation. Si vous désirez ajouter d'autres langues supportées par WorkflowGen, vous devrez ajouter les fichiers .resx connexes présents dans ce dossier.
\wfgen\js : Sert à stocker les fichiers JavaScript qui sont nécessaires pour lancer WorkflowGen
\wfgen\wfapps : Comporte tous les applications SDK, les formulaires Web ou les services Web utilisés par vos processus WorkflowGen
\wfgen\ws : Comporte l'API de service Web de WorkflowGen
\wfgen\App_Themes : Comporte les styles du portail utilisateur et du module d'administration. Les styles sont entièrement personnalisables pour les deux modules. Chaque module possède son fichier CSS respectif. Pour créer votre thème (« skin ») personnalisé, consultez la section dans le (disponible en anglais uniquement). Vous pouvez modifier le thème actuellement sélectionné dans l'onglet du panneau de configuration du module d'administration.
Le dossier \wfgen\wfapps\webservices sert à stocker vos propres procédures SDK. Consultez le WorkflowGen Integration Guide (disponible en anglais uniquement) pour plus d'informations.
Le dossier \wfgen\wfapps\webforms sert à stocker les formulaires Web utilisés dans les processus.
Ces exécutions de tâches automatiques sont assurées par ce service Windows :
Gestion des exceptions d'actions en retard
Gestion des notifications
Suppressions des délégations inactives
Suppressions des activités fantômes (la liste des actions initiées mais jamais lancées)
Ce service est installé par l'ensemble de configuration et est lancé automatiquement après l'installation.
Le chemin d'installation suggéré par défaut se trouve sur DISQUE:\Program Files\Advantys\WorkflowGen\Services\bin\WfgWorkflowEngineService.exe.
La synchronisation automatique des utilisateurs et groupes est assurée par ce service Windows. Ce service est installé par le pack d’installation et lancé automatiquement après l'installation.
Le chemin d'installation suggéré par défaut se trouve sur DISQUE:\Program Files\Advantys\WorkflowGen\Services\bin\WfgDirectoriesSyncService.exe.
Le service de synchronisation peut aussi être exécuté à partir d'une ligne de commande (voir la section Synchroniser un annuaire par ligne de commande pour plus de renseignements).
Le dossier \wfgen\App_Data\files\runtime comporte les données relatives à chaque instance de processus. Les données qui sont créés par les processus sont stockées dans ce dossier. Si l’option de stockage de données de processus est sélectionnée pour stocker les fichiers dans la base de données, les données de type « fichier » seront stockées directement dans la base de données et non dans la structure de répertoires du serveur.
Le dossier \wfgen\App_Data\files\design comporte les données qui sont téléchargées directement dans la définition de processus et, lorsque les processus sont instanciés, ces données sont copiées vers le dossier d'exécution. Si l’option de stockage de données de processus est sélectionnée pour stocker les fichiers dans la base de données alors les données de type « fichier » seront stockées directement dans la base de données et non dans la structure de répertoires du serveur.
Le dossier \wfgen\App_Data\files\charts\images comporte les fichiers temporaires des graphiques.
Le dossier \wfgen\App_Data\LogFiles comporte les journaux créés par WorkflowGen (synchronisation de répertoires, module d'authentification WorkflowGen).
Le dossier \wfgen\App_Data\Templates comporte les modèles utilisés par WorkflowGen (notifications, tableaux et graphiques, portlet, styles et outils utilisés par les formulaires intégrés, processus).
La base de données de WorkflowGen comprend :
Utilisateurs et groupes (qui peuvent être synchronisés avec un annuaire existant)
La définition des processus et leurs exécutions
Les informations de suivi des demandes (en cours et clôturées) ainsi que les données associées (accord, montant, documents, etc.)
Les informations de statistiques relatives aux demandes en cours ou clôturées
Les processus peuvent être importés ou exportés à partir de fichiers XML contenant la définition du processus basée sur la norme XPDL 1.0 du WfMC (Workflow Management Coalition).
Tous les fichiers de données, y compris les projets de formulaires Web avec leurs données XML, modèles PDF, valeurs de formulaires PDF, XML et autres pièces jointes sont stockées sur le disque du serveur et archivées automatiquement de façon chronologique.
Les applications suivantes sont distribuées avec WorkflowGen (licences Apache 2.0, BSD, MIT et autres licences compatibles) :
bluebird (see https://github.com/petkaantonov/bluebird/blob/master/LICENSE)
busboy (see https://github.com/mscdex/busboy/blob/master/LICENSE)
body-parser (see https://github.com/expressjs/body-parser/blob/master/LICENSE)
change-case (see https://github.com/blakeembrey/change-case/blob/master/LICENSE)
chart.js ()
cookie-parser (see )
cors (see )
dataloader (see )
edge-js (see )
eml-format (see )
express (see )
express-graphql (see )
file-uri-to-path (see )
file-url (see )
format (see )
fs (see )
got (see )
graphiql (see )
graphql-js (see )
graphql-relay-js (see )
graphql-tools (see )
graphql-upload (see )
htmx.org (see )
iisnode (see )
jquery (see )
jquery-colorbox (see )
jquery-ui (see )
jquery-validation (see )
jsonwebtoken (see )
jszip (see )
jwks-rsa (see )
lodash (see )
lucide (see )
mem (see )
mocha (see )
mockery (see )
Node.js (see )
nyc (see )
parse5 (see )
proper-lockfile (see )
pug ()
request-promise-native (see )
rimraf (see )
samlify (see )
seriate (see )
sinon (see )
supertest (see )
uuid (see )
valid-url (see )
xml2js (see )
xml-js (see )
yargs (see )
La procédure suivante s'applique à l'installation PowerShell de WorkflowGen, qui est compatible avec :
Azure SQL Database
MS SQL Server avec authentification SQL Server
Windows Server 2016 ou version ultérieure
Pour d'autres versions de Windows, ou si vous voulez utiliser le serveur PostgreSQL, utilisez .
Vous aurez besoin d'une connexion Internet active pour effectuer cette installation à moins que toutes les dépendances aient été téléchargées en exécutant le script avec l'indicateur de script -DownloadOnly.
Si vous utilisez Azure SQL Database, vous devez créer et configurer la base de données manuellement; voir la section dans le guide .
Si vous utilisez MS SQL Server avec la création de la base de données WorkflowGen, l'installation requiert le .
Assurez-vous que la stratégie d'exécution est bien réglée (voir ; disponible en Anglais seulement). Pour ce faire, exécutez Set-ExecutionPolicy Unrestricted dans la fenêtre de commande PowerShell.
✏️ Note : Si vous préférez ne pas modifier la stratégie d'exécution, vous pouvez la contourner en exécutant le script d'installation de WorkflowGen comme suit : PowerShell.exe -ExecutionPolicy Bypass -File .\install.ps1.
Vous pouvez suspendre la sortie en cliquant sur le shell pendant l’exécution. Vous pouvez modifier cette option dans les options de PowerShell, ou en appuyant sur la touche ENTRÉE pour recommencer la sortie (ceci ne suspendra pas le script, qui continuera à s’exécuter en arrière-plan).
Ouvrez config.json dans un éditeur de texte et configurez les paramètres pour votre installation de WorkflowGen (voir ci-dessous pour des informations sur chaque paramètre).
Ouvrez une instance de PowerShell en tant qu'administrateur.
Exécutez .\install.ps1 (avec les indicateurs de script facultatifs listés ci-dessous, si désiré).
Vous pouvez configurer votre connexion SQL Server avec l'authentification Windows (SSPI) au lieu de l'authentification SQL Server pour la base de données principale WorkflowGen et d'autres bases de données externes. Ce mode d'authentification SQL offre une sécurité supplémentaire, car aucune information d'identification n'est stockée dans le fichier web.config.
Pour configurer l'authentification Windows, utilisez l'une des chaînes de connexion suivantes dans le fichier web.config de WorkflowGen, qui se trouve dans le dossier DISQUE:\Inetpub\wwwroot\wfgen :
OU
Vous devez également modifier l'identité du pool d'applications WorkflowGen pour un compte de service. Pour ce faire :
Dans le Gestionnaire des services Internet (IIS), faites un clic droit sur le pool d’applications WorkflowGen, puis sélectionnez Paramètres avancés.
Dans la section Modèle de processus, sélectionnez Identité, puis cliquez sur le bouton ....
Sélectionnez Compte personnalisé, puis cliquez sur Définir...
Pour plus d'informations sur les chaînes de connexion SQL Server, consultez .
La fonctionnalité de réplication de la base de données permet l’addition des serveurs de bases de données dans le but d’améliorer de façon dramatique la performance des serveurs et les temps de réponses. Les serveurs de base de données de réplicas additionnels seront utilisés comme serveurs dédiés à lecture seule (requête SQL SELECT). Les serveurs de base de données de réplicas sont répliqués du serveur de base de données existante ou serveur « master » en utilisant le service de réplication de SQL Server.
SQL Server 2014 ou supérieure pour tous les serveurs de base de données
La fonctionnalité de réplication de la base de données SQL Server doit être installée sur toutes les instances de SQL Server
SQL Server Agent doit aussi être installé et configuré sur toutes les instances de SQL Server
Cette section présente une procédure générale pour configurer le service de réplication de SQL Server pour toutes les instances de SQL Server et d’activer la fonctionnalité de la réplication de la base de données de WorkflowGen. Cet exemple de procédure est basé sur une seule instance de WorkflowGen avec deux instances de base de données.
Si votre architecture actuelle diffère de cet exemple, vous pouvez adapter la procédure et certaines options de configuration spécifiques selon vos besoins.
Nous supposons que votre environnement de WorkflowGen actuelle répond aux conditions préalables suivantes :
La base de données WFGEN est déjà installée comme base de données primaire.
L’instance de réplica en lecture ne contient pas de base de données WFGEN existante.
Le serveur Web WorkflowGen est entièrement configuré et l’accès au module d’administration est possible avec un compte d’administrateur WorkflowGen.
Il est obligatoire de mettre à jour l’option de configuration max text repl size sur les serveurs SQL avec une valeur plus élevée pour que la réplication de bases de données fonctionne correctement. Nous recommandons de régler la valeur maximale de 2147483647 et non pas la valeur par défaut de 65536.
Exécutez la requête suivante dans la source (« master ») ainsi que dans la base de données de destination (lecture-seule) :
Pour plus de renseignements consultez l'article Microsoft .
Pour établir une publication sur la base de données primaire :
Ouvrez SQL Server Management Studio.
Connectez-vous à la base de données primaire.
Ouvrez le nœud de réplication.
Faites un clic droit sur Local Publications et choisissez New Publication. L’assistant ouvrira. Cliquez sur Next.
Pour établir un abonnement sur la base de données réplica :
Ouvrez SQL Server Management Studio.
Connectez-vous à la base de données réplica.
Ouvrez le nœud de réplication.
Faites un clic droit sur Local Publications et choisissez New Publication. L’assistant s’ouvrira. Cliquez sur Next.
Activer le mode multi-base de données dans WorkflowGen :
Ouvrez le module d'administration de WorkflowGen.
Dans le panneau de configuration, sélectionnez l’onglet Général.
Dans le champ Chaîne de connexion de la base de données Lecture seule précisez la chaîne de connexion WFGEN pour la base de données réplica.
Cochez la case
Pour plus de renseignements sur la réplication SQL Serveur, consultez l'article Microsoft et sélectionnez votre version de SQL Server dans la liste.
Pour plus de renseignements sur l’option max text repl size, consultez l'article Microsoft et sélectionnez votre version de SQL Server parmi la liste.
Vous devez être administrateur du serveur Web. Nous recommandons d'utiliser un compte administrateur local. Vous devez connaître :
Le chemin (destination) sur le serveur Web où sera installée l'application Web WorkflowGen
Le chemin (destination) sur le serveur Web où seront installés les services Windows de WorkflowGen
L'URL du serveur Web où sera installé WorkflowGen
Base de données du serveur MS SQL :
Le nom du serveur MS SQL
Les justificatifs d'identité du compte AS
Le chemin vers les fichiers de données du serveur SQL sur l'ordinateur où réside le serveur SQL
✏️ Note : L'outil SQL Server Management Studio sera requis si vous créez la base de données à l'aide des scripts de création SQL (*.sql) dans la procédure d'installation manuelle.
Le nom ou l'adresse IP de la passerelle SMTP (nous recommandons d'utiliser la passerelle SMTP IIS; voir la section Notifications SMTP)
L'adresse email de l'expéditeur par défaut pour les notifications
La méthode d'authentification que vous désirez utiliser pour l'application Web de WorkflowGen
Si SQL Server et SQL Management Studio sont installés sur votre Windows, le module SQL Server PowerShell est pré-installé.
Si la version 5 ou supérieure de PowerShell est installée sur votre Windows (p.ex. Windows Server 2016/Windows 10), le script d'installation va détecter et installer automatiquement le module SQL Server depuis le PowerShell Gallery.
✏️ Note : Si les extensions PowerShell pour votre version de SQL Server ne sont pas disponibles ou le script d'installation ne détecte pas le module SQL Server PowerShell, essayez d'installer les PowerShell Extensions du SQL Server 2016 Feature Pack, ou bien essayez d'installer SQL Server 2016 Management Studio.
En format JSON, les barres obliques inverses (\) doivent être échappées comme suit :
Vous pouvez terminer le script en tout temps en appuyant sur CTRL+C. Si effectué lors d'un téléchargement ou une procédure d'extraction, il se peut que les dossiers créés doivent être supprimés (p.ex. : \package\); sinon, le script détectera leur présence et présumera qu'ils sont complets.
L'installation PowerShell installera Node.js v22.20.0 LTS, iisnode et IIS URL Rewrite.
Visual C ++ Redistributable est requis dans certaines versions et / ou configurations particulières de Windows Server, sinon vous pourriez rencontrer l'erreur Le module spécifié est introuvable (The specified module could not be found) concernant les bibliothèques edge et edge-js lors de l'accès aux applications Web /wfgen/graphql, /wfgen/hooks ou /wfgen/scim. Vous devrez le télécharger et l'installer manuellement.
Pour installer une version antérieure de WorkflowGen, utilisez l'installation PowerShell pour cette version, disponible dans la section Release Notes & Downloads du Forum et base de connaissances de WorkflowGen.
Le nom ou l'emplacement de l'instance de la base de données SQL Server
✏️ Note : Si le serveur de la base de données est le même que le serveur de l'application WorkflowGen, vous pouvez utiliser (local).
SQLLoginID et SQLPassword
Les informations d'identification de connexion utilisées uniquement pour la création de la base de données WorkflowGen; elles doivent avoir le niveau d'accès requis
✏️ Note : Vous pouvez laisser ces paramètres vides si le paramètre SQLServerInstance déjà fourni a une base de données WorkflowGen entièrement fonctionnelle et à jour (y compris les utilisateurs SQL).
DBName
Le nom de la base de données WorkflowGen à utiliser ou à créer (par défaut : WFGEN)
✏️ Note : Si le nom de la base de données est déjà utilisé, aucune base de données ne sera créée, et l'installation supposera que la base de données fournie est entièrement fonctionnelle et à jour (y compris les utilisateurs SQL).
DBFilePath et DBLogPath
L'emplacement physique où la nouvelle base de données sera créée (applicable uniquement lors de la création d'une nouvelle base de données); si vous laissez ce chemin vide, une base de données sera créée dans le chemin par défaut de l'environnement ✏️ Note : Si ces paramètres sont fournis, l'identité pour le serveur SQL doit également avoir les permissions pour ce dossier.
DBLoginID et DBPassword
Utilisateur de base de données standard (avec les permissions lecture et écriture) utilisé par l'application WorkflowGen (par défaut : WFGEN_USER); l'utilisateur de base de données est créé seulement si une nouvelle base de données est créée
✏️ Note : Si vous utilisez une base de données existante, ces paramètres seront utilisés dans la chaîne de connexion du web.config, alors assurez-vous que ceux-ci correspondent à l'utilisateur et au login existants. Si vous créez une nouvelle base de données, assurez-vous que ce login n'existe pas déjà (p.ex. par une autre base de données).
IISSiteName
Le nom du site Web IIS dans lequel l'application WorkflowGen sera située; un site Web IIS sera créé s'il n'existe pas déjà (par défaut : WorkflowGen)
IISApppoolName
Le nom du pool d'application de WorkflowGen; un pool d'application sera créé s'il n'existe pas déjà (par défaut : WorkflowGenAppPool)
IISBinding
L'adresse IP qui sera liée à WorkflowGen; la valeur * représente toutes les adresses IP non attribuées (par défaut : *)
IISPort
Le port TCP/IP de WorkflowGen (par défaut : 80)
IISAuthentication
Indique quel mode d'authentification à utiliser pour l'installation initiale de WorkflowGen; les valeurs possibles sont Windows, WorkflowGen et Basic
WorkflowGen utilise le module d'authentification personnalisé de WorkflowGen, qui stocke les informations d'identification dans la base de données WorkflowGen. Si cette option est sélectionnée, le mot de passe initial pour le compte spécifié dans WFGAdminUserName sera réglé sur Passw0rd! et devrait être changé immédiatement.
Basic utilise l'authentification IIS selon la configuration Windows courante. Avec cette option, vous pouvez créer un nouvel utilisateur Windows (WFGAdminUsername) avec un mot de passe spécifique ou bien utiliser un compte Windows existant.
Windows utilise l'authentification IIS selon la configuration de Windows courante comme l'authentification Basic, mais vous devez être connecté avec le compte spécifié dans WFGAdminUsername.
WFGAdminUsername, WFGAdminPassword et WFGAdminDomain
Le premier compte d'administrateur WorkflowGen (par défaut : wfgen_admin); selon la méthode d'authentification, ce compte pourrait nécessiter un compte Windows correspondant. Un mot de passe est requis uniquement si le compte sera créé lors de l'installation.
WebsiteURL
L'URL où WorkflowGen sera accessible; cette valeur est remplie dans le web.config (par défaut : http://localhost/wfgen)
SMTPServer
L'emplacement du serveur SMTP pour WorkflowGen; cette valeur est remplie dans le web.config (par défaut : smtp.mycompany.com)
DefaultEmailSender
L'adresse email par défaut qui sera utilisé en tant qu'émetteur des notifications WorkflowGen; cette valeur est remplie dans le web.config (par défaut : [email protected])
Paramètre
Description
DownloadOnly
Cette option terminera les scripts une fois que tous les paquets seront téléchargés. Ceci est utile si vous voulez installer WorkflowGen sur un réseau qui n'est pas connecté à l'internet.
📌 Exemple : .\install.ps1 -DownloadOnly
SkipParamInput
Cette option sautera les invites à vérifier les paramètres avant l'exécution du script d'installation, si par exemple vous voulez exécuter le script install.ps1 via un autre script.
📌 Exemple : .\install.ps1 -SkipParamInput
Paramètre
Description
LicenseType
Valeurs possibles : free ou full (par défaut : free)
Décrit le type de licence sous laquelle vous installez WorkflowGen : full renseignera le paramètre SerialNumber dans le fichier web.config; trial inclura la licence d'essai (6 mois).
✏️ Note : Si vous installez sous la licence complète de WorkflowGen, vous devez copier manuellement votre fichier de licence dans le dossier \bin de WorkflowGen (p.ex. C:\Inetpub\wwwroot\wfgen\bin).
SerialNumber
Si vous installez sous la licence complète, saisissez le numéro de série que vous avait été fourni.
WebAppPath
L'emplacement physique où le site WorkflowGen sera situé (par défaut : C:\Inetpub\wwwroot\wfgen)
✏️ Note : Ce chemin doit se terminer par \wfgen.
ServicesPath
L'emplacement physique où les services WorkflowGen seront situés (par défaut : C:\Program Files\Advantys\WorkflowGen\Services)
NodeJSPath
L'emplacement physique où Node.js sera installé; ce paquet est requis pour certaines fonctionnalités de WorkflowGen telles que GraphQL et les webhooks
SQLServerInstance
Saisissez vos informations d'identification, puis cliquez sur OK.
Assurez-vous que les pools d'applications des autres applications WorkflowGen (auth, graphql, hooks, scim,ws et webforms) correspondent au pool d'applications wfgen.
Assurez-vous que le compte personnalisé dispose des autorisations en lecture/écriture et de modification pour la base de données WorkflowGen SQL et les fichiers et dossiers WorkflowGen.
Utilisez le même compte que l'identité de l'application pour exécuter les services du moteur WorkflowGen et de la synchronisation d'annuaire.
Sélectionnez WFGEN dans la liste. Cliquez sur Next.
Sélectionnez Transactional publication dans la liste. Cliquez sur Next.
Cochez toutes les tables et les vues (facultatif si le module de reporting WorkflowGen est installé dans l’instance de base actuel) dans la liste. Cliquez sur Next.
La boîte de dialogue Article Issues s’ouvrira si vous avez sélectionné Views dans l’étape précédente. Cliquez sur Next.
La boîte de dialogue Filter Table Rows s’ouvrira. Il n'est pas nécessaire de filtrer les données dans la publication. Cliquez sur Next.
La boîte de dialogue Snapshot Agent ouvrira. Cochez Create a snapshot immediately and keep the snapshot available to initialize subscriptions. Cliquez sur Next.
Dans Snapshot Agent Security, fournissez une identité valide d’un compte de service Windows ou d’administrateur. Cliquez sur Next.
Cochez Create the publication. Cliquez sur Next.
Donnez un nom de publication WFGEN_PUB.
Cliquez sur Finish. Si tout est réussi, fermez l’assistant.
Sélectionnez Find SQL Server Publisher...
Connectez-vous à l’instance primaire.
Sélectionnez WFGEN_PUB parmi la liste Database and publications. Cliquez sur Next.
Sélectionnez Run each agent at its Subscriber (pull subscriptions). Cliquez sur Next.
Dans la liste des suscriptions, sélectionnez New database...
Donnez un nom à la base de données WFGEN et cliquez sur OK. Cliquez sur Next.
Dans les options de configuration Distribution Agent Security fournissez une identité valide d’un compte de service Windows ou d’administrateur. Cliquez sur Next.
Sélectionnez Run continuously parmi les options disponibles dans la liste Synchronization Schedule. Cliquez sur Next.
Sélectionnez Immediately parmi les options dans la liste Initialize Subscriptions.
Sélectionnez Create the subscription(s). Cliquez sur Next.
Cliquez sur Finish. Si tout est réussi, fermez l’assistant.
Créez et ajoutez l’utilisateur SQL WFGEN_USER à la base de données réplicas avec les autorisations db_datareader et db_datawriter.
Vérifier chacune des pages du portail et des modules :
Si non coché WorkflowGen utilisera la base de données primaire.
Si coché WorkflowGen utilisera la base de données réplica.
Enregistrez et fermez.
{
"param" : "C:\\valid\\windows\\path"
}Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI; Server=myServerAddress;Database=myDataBase;Trusted_Connection=TrueEXEC sp_configure "max text repl size", 2147483647;
GO
RECONFIGURE;
GOCet exemple est un module HTTP qui utilise la variable serveur HTTP_AUTHORIZATION pour l'authentification. Vous devez insérer votre propre méthode pour authentifier les utilisateurs.
Pour plus d'informations, consultez la section Authentification HTTP personnalisée de base dans le Guide technique WorkflowGen.
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"> :
<system.webServer>
<modules>
<remove name="ApplicationSecurityAuthenticationModule" />
</modules>
</system.webServer>Il n'y a aucun moyen d'approvisionner vos utilisateurs et vos groupes depuis les fournisseurs d'identité que vous utilisez derrière Auth0 avec WorkflowGen. Vous devez plutôt les synchroniser avec une des méthodes de synchronisation des annuaires supportées.
//*********************************************************************
// © Tous droits réservés.
//
// Objectif :
// Exemple de code pour un module HTTP
//
//*********************************************************************
using System;
using System.Web;
using System.Security.Principal;
using System.Text;
using System.Diagnostics;
namespace MyCompany.Hosting.Samples
{
///<summary>
/// Description sommaire pour CustomAuthModule
///<summary>
publicclassCustomAuthModule : IHttpModule
{
///<summary>
/// Constructeur
///<summary>
public CustomAuthModule()
{
}
#region IHttpModule Members
///<summary>
/// Libérer toute ressource
///<summary>
publicvoid Dispose()
{
}
///<summary>
/// Initialisation du module
///<summary>
///<param name="context"></param>
publicvoid Init(HttpApplication application)
{
application.AuthenticateRequest += newEventHandler(application_AuthenticateRequest);
}
///<summary>
/// Déléguer pour authentifier une requête
///<summary>
///<param name="context"></param>
///<param name="context"></param>
void application_AuthenticateRequest(object sender, EventArgs e)
{
HttpApplication application = sender asHttpApplication;
Debug.Assert(application != null);
// Le client a-t-il envoyé les renseignements d'autorisation
//
if (application.Context.Request.ServerVariables["HTTP_AUTHORIZATION"] == null)
{
// Redirige le client pour envoyer les justificatifs d'identité HTTP de base
//
application.Response.StatusCode = 401;
application.Response.AddHeader("WWW-Authenticate", "Basic");
application.Response.End();
}
else
{
// Récupérer la chaîne d'authentification
//
string authString = application.Request.ServerVariables["HTTP_AUTHORIZATION"];
// Si la méthode d'authentification est de base
//
if (authString.StartsWith("basic", StringComparison.InvariantCultureIgnoreCase))
{
string[] justificatifs d'identité;
bool isValidutilisateur = false;
// Décoder les justificatifs d'identité
//
credentials = DecodeBase64String(authString.Substring(6)).Split(':');
// Les justificatifs d'identité devraient présenter deux cellules
//
// credentials[0] est le nom d'utilisateur
// credentials[1] est le mot de passe
Debug.Assert(credentials.Length == 2);
//
// ****************************
// Effectuer la vérification ici
// ****************************
//
// isValidUser = VotreMéthodeIdentificaation(credentials[0], credentials[1]);
if (isValidUser)
{
// Créer un utilisateur
//
GenericPrincipal user =
newGenericPrincipal(
newGenericIdentity(credentials[0], authString),
newstring[] { "role_name" });
// Définir cet utilisateur pour la session
//
application.Context.User = user;
}
}
}
}
///<summary>
/// Décode une chaîne chiffrée Base64
///<summary>
///<param name="base64EncodedString"> </param>
///<returns></returns>
privatestring DecodeBase64String(string base64EncodedString)
{
try
{
UTF-8Encoding encoder = newUTF-8Encoding();
Decoder decoder = encoder.GetDecoder();
byte[] bytesToDecode = Convert.FromBase64String(base64EncodedString);
int charCount = decoder.GetCharCount(bytesToDecode, 0, bytesToDecode.Length);
char[] decodedChars = newchar[charCount];
decoder.GetChars(bytesToDecode, 0,
bytesToDecode.Length, decodedChars, 0);
returnnewString(decodedChars);
}
catch (Exception e)
{
thrownewException("Error dans DecodeBase64String : " + e.Message);
}
}
#endregion
}
}

La synchronisation automatique des utilisateurs et groupes est assurée par ce service Windows. Ce service est installé par l'ensemble de configuration et lancé automatiquement après l'installation.
Le chemin d'installation suggéré par défaut se trouve sur DISQUE:\Program Files\Advantys\WorkflowGen\Services\bin\WfgDirectoriesSyncService.exe.
Le service de synchronisation peut être aussi exécuté à partir d'une ligne de commande.
Vous devez spécifier le paramètre /c ou /console.
Les paramètres suivants sont facultatifs :


Définition
/p[ath]:location
Emplacement du fichier web.config utilisé pour la synchronisation (habituellement le fichier web.config de WorkflowGen)
/d[irectories]:list
Liste des annuaires à synchroniser (, ou ; comme séparateur)
/s[ilence]
Aucun message ne sera généré dans la console
/t[est]
Lancer un test de synchronisation
/h[elp] ou /?
Affichage de l'aide pour l'exécution par la console
Cet exemple lance la synchronisation des annuaires de l'instance WorkflowGen installée dans le dossier D:\inetpub\wwwroot\wfgen :
Cet exemple force la synchronisation des annuaires MonRep de l'instance WorkflowGen installée dans le dossier D:\inetpub\wwwroot\wfgen :
Paramètre
WfgDirectoriesSyncService.exe /c /p:D:\inetpub\wwwroot\wfgen\web.configWfgDirectoriesSyncService.exe /c /p:D:\inetpub\wwwroot\wfgen\web.config /d:MonRepAssurez-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.
WorkflowGen supporte la synchronisation des utilisateurs et des groupes Active Directory. Pour les instructions sur la configuration, voir la section Configuration avancée.
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.
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.
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.
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
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 et email
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.
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.
AD FS est maintenant configuré pour l'authentification déléguée depuis WorkflowGen.
Vous devez maintenant configurer WorkflowGen pour déléguer l'authentification à AD FS.
Ouvrez 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.
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 de ApplicationSecurityAuthSessionRefreshEnableIFrame sur N. 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 de ApplicationSecurityAuthSessionRefreshEnableIFrame sur Y, 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 ».
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.
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 module auth :
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 et scim.
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
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.
Cette fonctionnalité n'est pas supportée pour AD FS. Il est nécessaire de configurer l'API GraphQL sur le fournisseur.
Cette section contient les instructions sur comment configurer l'authentification déléguée WorkflowGen avec Gardian.
Le processus de configuration de Gardian suit de près celui d'Okta. Pour configurer Gardian, commencez par suivre les instructions de la section Authentification Okta en remplaçant les valeurs par les spécifications du fournisseur de services Gardian où nécessaire. Après avoir terminé ces étapes, revenez à cette section pour les détails de configuration spécifiques à Gardian.
Maintenant, vous devez configurer WorkflowGen pour déléguer son authentification à Gardian.
web.config de WorkflowGenOuvrez le fichier web.config de WorkflowGen et ajoutez les propriétés suivantes :
Remplacez <ACR VALUES> par les valeurs ACR spécifiées par votre fournisseur de services Gardian.
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 Okta avec un script côté serveur qui a accès à l'API GraphQL. D'abord, vous devez configurer une nouvelle application Web dans le portail Okta, et ensuite vous devez configurer une nouvelle applications dans WorkflowGen.
<!-- Auth -->
<add key="ApplicationSecurityAuthSessionTokenSigningSecret" value="<SECRET>" /><?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<modules>
<add name="ApplicationSecurityAuthenticationModule" type="Advantys.Security.Http.JWTAuthenticationModule" />
</modules>
</system.webServer>
</configuration><?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<modules>
<remove name="ApplicationSecurityAuthenticationModule"/>
</modules>
</system.webServer>
</configuration><!-- ADFS auth -->
<add key="ApplicationSecurityAuthProvider" value="adfs"/>
<add key="ApplicationSecurityAuthClientId" value="<CLIENT ID>" />
<add key="ApplicationSecurityAuthClientSecret" value="<CLIENT SECRET>" />
<add key="ApplicationSecurityAuthMetadataUrl" value="<METADATA URL>" />
<add key="ApplicationSecurityAuthAppIdClaim" value="appid" />
<add key="ApplicationSecurityAuthUsernameClaim" value="upn" />
<add key="ApplicationSecurityAuthClockTolerance" value="60" />
<add key="ApplicationSecurityAuthSessionRefreshEnableIFrame" value="Y"/>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.
Cliquez sur Add.
Cliquez sur Next.
Cliquez sur Next.
Examinez la section de sommaire et complétez le groupe d'applications.
Assurez-vous que Pass through all claim values est sélectionné.
Cliquez sur Finish.
Advantys.Security.dllNewtonsoft.Json.dll
jose-jwt.dll
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appSettings>
<!-- Gardian auth -->
<add key="ApplicationSecurityAuthProvider" value="gardian"/>
<add key="ApplicationSecurityAuthAcrValues" value="<ACR VALUES>" />
</appSettings>
</configuration>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 Okta pour pouvoir le configurer.
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 .
Dans la section Applications de votre portail des développeurs Okta, cliquez sur le bouton Add Application.
Sélectionnez le type Service, puis cliquez sur Next.
Saisissez le nom de votre application, puis cliquez sur Done.
Voici un résumé des informations dont il vous faut :
Un ID client, qui se trouve dans l'onglet des paramètres de l'application inscrite.
Une clé secrète client, qui se trouve dans l'onglet des paramètres de l'application inscrite.
L'identifiant de l'API GraphQL de WorkflowGen, qui se trouve dans sa page des paramètres.
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.
Dans la page Applications du module d'administration de WorkflowGen, cliquez sur Nouvelle application.
Renseignez le formulaire :
Nom : Mon application serveur
Description : Une description qui indique clairement qui identifie clairement le script
Type : Non-interactive Client
Nom d'utilisateur d'impersonnification : Un nom d'utilisateur qui a les permissions requises pour accéder à l'API GraphQL
ID client : L'ID client que vous avez récupéré précédemment à partir de votre application de service enregistrée (p.ex. My API Services App)
Actif : Cochez cette case
Cliquez sur Save.
Votre application devrait maintenant paraître dans la liste d'applications.
Vous devriez maintenant 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'Okta via le flux Client Credentials Grant.




WorkflowGen stocke les fichiers (p.ex. les pièces jointes d'une demande) dans une arborescence. Par défaut, ces fichiers sont stockés sur le serveur Web dans le dossier spécifié dans le fichier de configuration (web.config), paramètre ApplicationDataPath (p.ex. : <add key="ApplicationDataPath" value="\\SERVER\SHARE$\wfgen\App_DData" />).
La valeur par défaut est vide, donc elle pointera vers le répertoire DISQUE:\Inetpub\wwwroot\wfgen\App_Data. L'option par défaut est de garder tous les fichiers sur le serveur Web.
Vous aurez peut-être à déplacer ce fichier de stockage vers un serveur de fichiers dédié, pour les raisons suivantes :
Gros volume (pièces jointes volumineuses, archivage de documents, niveau d'utilisation élevé)
Implantation de l'architecture web farm (voir la section )
La configuration de base vous permet de déplacer facilement ces fichiers mais avec un niveau de sécurité inférieur.
Suivez ces étapes pour configurer votre serveur Web :
Créez le fichier de stockage sur le serveur de fichiers DISQUE:\DOSSIER (p.ex. : D:\fichierpub).
Recréez l'arborescence relative à l'emplacement du stockage des fichiers :
DISQUE:\DOSSIER\wfgen\App_Data
Cette fonctionnalité vous permet de stocker les données de type fichier (fichiers joints inclus) dans la base de données afin de permettre une sauvegarde de la base de données sans interruptions de service (les utilisateurs peuvent continuer à travailler).
Réglez le paramètre ApplicationDefaultProcessDataFileStorageMethod sur File pour stocker les données de processus de type fichier dans la structure de répertoires du serveur, ou sur Database pour stocker les données de processus de type fichier dans la base de données.
Ce paramètre définit la méthode de sauvegarde des fichiers sélectionné par défaut en créant a nouveau processus ou en important un processus XPDL d’une version précédente.
Chaque version d’un processus peut avoir la méthode de stockage de données de processus configurée indépendamment, permettant les différent processus d’utiliser soit le stockage des fichiers dans la base de données ou dans la structure de répertoires.
Dans l’onglet Infos :
Pour le Stockage de données de processus, cochez l’option Stocker le contenu des fichiers dans la base de données pour activer le stockage des fichiers dans la base de données.
Pour le Stockage de données de processus, décochez l’option Stocker le contenu des fichiers dans la base de données pour utiliser la méthode du système de fichiers.
Dans l’onglet Infos :
Pour le Stockage de données de processus, décochez l’option Stocker le contenu des fichiers dans la base de données pour utiliser la méthode du système de fichiers.
Il est possible de changer la méthode de Stockage de données de processus mais il faut respecter les règles suivantes :
Il ne devrait pas avoir des demandes qui utilisent la méthode précédente de stockage de données pour la même version. Vous pouvez supprimer les demandes existantes ou créer une nouvelle version du processus.
Il ne devrait pas avoir des données existant de type fichier avec un fichier par défaut qui a été défini avec la méthode précédente de stockage de données pour la même version. Vous pouvez supprimer tous les fichiers téléchargés comme valeur par défaut, changer la méthode de stockage de données de processus et télécharger les fichiers de nouveau pour les données de type fichier.
Pour une architecture Web Farm, le stockage de fichier doit être centralisé dans un chemin avec un accès partagé. Les paramètres dans la section doivent êtres appliqués pour les fichiers temporaires.
Même avec stockage de données dans la base, WorkflowGen créera toujours des fichiers temporaires dans le répertoire \wfgen\App_Data (ApplicationDataPath) à utiliser par les demandes et actions durant l’initialisation.
Ces fichiers temporaires seront automatiquement supprimés quand les demandes ou actions seront complétées.
Pour s’assurer de l’intégrité des données et permettre un temps d’opération de 7 jours / 24 heures avec la méthode de stockage de fichier dans la base de données, les actions systèmes asynchrones qui reçoivent des paramètres d’entrées de type fichier doivent sauvegarder le contenu de ces fichiers dans sa propre base de données afin qu’ils puissent être référencés ultérieurement par l’action système asynchrone.
Cette solution s’assurera que le fichier existe toujours et pourra être utilisé par votre action système asynchrone.
DISQUE:\DOSSIER\wfgen\App_Data\Files\API
DISQUE:\DOSSIER\wfgen\App_Data\Files\DataSet
DISQUE:\DOSSIER\wfgen\App_Data\Files\EFormASPX
DISQUE:\DOSSIER\wfgen\App_Data\Files\Hooks
DISQUE:\DOSSIER\wfgen\App_Data\Files\MergeForm
DISQUE:\DOSSIER\wfgen\App_Data\Files\RemoteApproval
DISQUE:\DOSSIER\wfgen\App_Data\Files\RestApiClient
DISQUE:\DOSSIER\wfgen\App_Data\Files\XmlToDatabase
DISQUE:\DOSSIER\wfgen\App_Data\Files\XmlTrans
DISQUE:\DOSSIER\wfgen\App_Data\LogFiles\auth
DISQUE:\DOSSIER\wfgen\App_Data\LogFiles\CancelRequest
DISQUE:\DOSSIER\wfgen\App_Data\LogFiles\CompleteAction
DISQUE:\DOSSIER\wfgen\App_Data\LogFiles\CopyData
DISQUE:\DOSSIER\wfgen\App_Data\LogFiles\Dir
DISQUE:\DOSSIER\wfgen\App_Data\LogFiles\Engine
DISQUE:\DOSSIER\wfgen\App_Data\LogFiles\GetFormData
DISQUE:\DOSSIER\wfgen\App_Data\LogFiles\GetProcessData
DISQUE:\DOSSIER\wfgen\App_Data\LogFiles\GetUsersFromDir
DISQUE:\DOSSIER\wfgen\App_Data\LogFiles\MergeForm
DISQUE:\DOSSIER\wfgen\App_Data\LogFiles\Notifications
DISQUE:\DOSSIER\wfgen\App_Data\LogFiles\Portal
DISQUE:\DOSSIER\wfgen\App_Data\LogFiles\RaiseException
DISQUE:\DOSSIER\wfgen\App_Data\LogFiles\RemoteApproval
DISQUE:\DOSSIER\wfgen\App_Data\LogFiles\RestApiClient
DISQUE:\DOSSIER\wfgen\App_Data\LogFiles\SendHttpPost
DISQUE:\DOSSIER\wfgen\App_Data\LogFiles\SendMessage
DISQUE:\DOSSIER\wfgen\App_Data\LogFiles\StartProcess
DISQUE:\DOSSIER\wfgen\App_Data\LogFiles\UpdateProcessData
DISQUE:\DOSSIER\wfgen\App_Data\LogFiles\XmlToDatabase
DISQUE:\DOSSIER\wfgen\App_Data\LogFiles\XmlTrans
Copiez les fichiers et dossiers existants à partir de leur emplacement initial vers les nouveaux emplacements (qui devraient observer la même structure).
Créez un espace partagé sur le dossier DISQUE:\DOSSIER. Ce dossier devrait donc être accessible par un nom UNC de type \\SERVER\SHARE$.
Attribuez des permissions de modification NTFS sur l'espace partagé, ainsi que sur tous ses dossiers et sous-dossiers, pour tous les utilisateurs de WorkflowGen.
Réglez le paramètre ApplicationDataPath dans DRIVE:\Inetpub\wwwroot\wfgen\web.config sur <add key="ApplicationDataPath" value="\\SERVER\SHARE$\wfgen\App_Data" />. La raison est que WorkflowGen utilisera le chemin spécifié dans ApplicationDataPath pour stocker les dossiers \Files, \LogFiles et \Templates.

La procédure suivante s'applique à l'installation à l'aide du pack d'installation manuelle de WorkflowGen.
Les prérequis du serveur Web et du serveur de base de données doivent être satisfaits avant de procéder à l'installation suivante.
Commencez par extraire le pack d’installation manuelle (.zip) dans un dossier temporaire du serveur Web de WorkflowGen (ex. : DISQUE:\temp).
Contenu du pack d’installation :
Databases contient les scripts d’installation de bases de données pour MS SQL Server
Inetpub contient les fichiers de l’application WorkflowGen
Program Files contient les fichiers des applications des services Windows de WorkflowGen
La structure recommandée du répertoire physique pour les fichiers et dossiers de l’application Web WorkflowGen devrait être sous DISQUE:\Inetpub\wwwroot\wfgen. Ce dossier contient les ressources statiques comme les images, les fichiers HTML, les données des processus et les applications utilisés par WorkflowGen.
Copiez le contenu du dossier source Inetpub dans votre dossier de destination DISQUE:\Inetpub\wwwroot\wfgen.
Copiez le contenu du dossier source Program Files\Advantys dans votre dossier de destination DISQUE:\Program Files (ex. : DISQUE:\Program Files\Advantys\WorkflowGen\Services\bin).
✏️ Note : Si vous avez déjà une autre version de WorkflowGen installée sur le même serveur et que vous voulez préserver vos services WorkflowGen antérieurs, nous vous suggérons de choisir un autre répertoire pour la version 9 (ex. :
WorkflowGen ne supporte pas le classement sensible à la casse. Vous devez donc configurer la base de données pour qu'elle soit insensible à la casse afin d'éviter les erreurs.
create.sqlOuvrez l'outil SQL Server Management Studio et connectez-vous à votre serveur de base de données avec un compte administrateur (ex. : SA).
Créez une nouvelle base de données (ex. : WFGEN).
Créez un nouveau compte utilisateur SQL Server (ex. : WFGEN_USER).
Ouvrez l'outil MS SQL Server Management Studio et connectez-vous à votre instance MS SQL Server avec un compte administrateur (ex. : SA).
Créez une nouvelle base de données (ex. : WFGEN).
Créez un nouveau compte utilisateur SQL Server (ex. : WFGEN_USER).
La base de données SQL Azure doit être créée et configurée manuellement. Voir la section dans le guide pour obtenir des instructions sur la façon de procéder.
À partir de la version 10.0.3, WorkflowGen supporte PostgreSQL 17.6 en tant que moteur de base de données. Pour créer une nouvelle base de données WorkflowGen sur votre serveur PostgreSQL, suivez d’abord les instructions de la (disponible en anglais uniquement), puis suivez les instructions ci-dessous en fonction du système d’exploitation sur lequel vous hébergez la base de données.
Le package d’installation manuelle est spécifique à PostgreSQL sous Windows. Si vous hébergez PostgreSQL sur une autre plateforme, installez la version appropriée de l’extension pgvector (requise par les fonctionnalités de recherche sémantique et d’IA de WorkflowGen 10 pour la prise en charge du type de données vector) adaptée à votre environnement. Elle doit être installée et activée avant la création de la base de données WorkflowGen. Consultez les ci-dessous.
Si vous utilisez PostgreSQL sous Windows, téléchargez l’extension pgvector v0.8.1 depuis , puis installez-la et activez-la.
Si vous utilisez PostgreSQL sous Linux, macOS ou dans un conteneur Docker, installez l’extension pgvector à l’aide du gestionnaire de paquets de votre environnement ou à partir du . Pour ce faire, suivez les instructions ci-dessous en fonction de votre environnement :
Use an image with pgvector pre-installed (e.g., ankane/pgvector) or build a custom image with the extension.
Une fois installée, activez l’extension dans votre base de données WorkflowGen :
Initialisez le schéma WorkflowGen en exécutant les scripts suivants dans l’ordre :
Databases\PostgreSQL\Create_WFG_SQL_Tables.sql
Databases\PostgreSQL\Create_WFG_SQL_PKeys.sql
Portée de l’aperçu : Le support de PostgreSQL est actuellement en aperçu (preview) et peut faire l’objet de modifications. Il est recommandé de l’utiliser uniquement à des fins de test et d’évaluation.
Compatibilité .NET : WorkflowGen utilise le fournisseur de données Npgsql pour se connecter à PostgreSQL. Assurez-vous que votre runtime .NET et vos bibliothèques sont compatibles avec Npgsql.
Sensibilité à la casse : PostgreSQL traite par défaut les identifiants non entre guillemets comme des minuscules. Soyez cohérent dans l’utilisation de la casse et utilisez des guillemets doubles si vous personnalisez le schéma ou exécutez des requêtes manuelles.
WorkflowGen nécessite un compte Windows NT ou Active Directory valide. Ce compte sera utilisé pour administrer WorkflowGen mais ne nécessite pas de droit d’administration NT ou Active Directory.
Ouvrez et éditez le fichier de configuration de WorkflowGen DRIVE:\Inetpub\wwwroot\wfgen\web.config.
Mettez à jour la chaîne de connexion à la base de données.
MS SQL Server :<add name="MainDbSource" connectionString="Data Source=localhost;Initial Catalog=WFGEN;User ID=WFGEN_USER;Password=Admin123!;" providerName="System.Data.SqlClient" />
Pour plus d'informations sur les autres paramètres de configuration, voir l'annexe .
L’utilisateur ou l’identité utilisé pour exécuter les services Windows de WorkflowGen doit être un administrateur, faire partie du groupe d’administrateurs, ou être un compte système de Windows (par exemple, Local System). Pour vérifier cela, exécutez services.msc.
Si vous avez spécifié un chemin d’installation personnalisé, vous devez changer le chemin dans le script DISQUE:\Program Files\Advantys[CustomWorkflowGen]\Services\bin\winsvc-install.cmd (ex. : %windir%\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe /i "C:\Program Files\Advantys\Custom WorkflowGen]^\Services\bin\WfgDirectoriesSyncService.exe").
Éditez le fichier de configuration du service moteur DISQUE:\Program Files\Advantys\WorkflowGen\Services\bin\WfgWorkflowEngineService.exe.config.
Indiquez le chemin du fichier de configuration de WorkflowGen (ex. : <add key="WebConfigPath" value="DISQUE:\inetpub\wwwroot\wfgen\web.config"/>).
Éditez le fichier de configuration du service de synchronisation d’annuaire DISQUE:\Program Files\Advantys\WorkflowGen\Services\bin\WfgDirectoriesSyncService.exe.config
On recommande d’isoler WorkflowGen d’autres applications en créant son propre groupe d’applications et en associant toutes les applications déclarées avec le nouveau groupe d’applications.
Dans IIS Manager, cliquez sur Application pools. Dans le volet de droite, faites un clic droit sur Add application pool, sélectionnez-le et donnez-lui un nom (ex. : WorkflowGen).
Sélectionnez la version .NET Framework 4.
Sélectionnez Integrated pipeline mode.
Lancez IIS Manager et déployez l'arborescence sous le nom du serveur IIS sur lequel sera créé le nouveau site.
Faites un clic droit sur l'icône Sites et sélectionnez Add Web Site. Inscrivez le nom du site, sélectionnez son groupe d'applications (s'il ne s'agit pas du groupe par défaut), et inscrivez le chemin du répertoire racine (cliquez sur Browse et sélectionnez le dossier \wwwroot, habituellement DISQUE:\Inetpub\wwwroot\wfgen).
Le type de document par défaut default.aspx doit être créé s'il n'existe pas. Par défaut, ce document devrait exister sur un serveur IIS exécutant .NET.
Pour vérifier ceci, cliquez sur l'icône du site, et assurez-vous que le volet de droite affiche Features view (un onglet au bas du volet vous permet de basculer entre Features et Content). Double-cliquez sur l'icône Default document. Si default.aspx est absent de la liste, ajoutez-le au début de la liste à séparations par virgules affichées. Pour améliorer les performances, vous pouvez déplacer default.aspx vers le haut de la liste, s'il n'y est pas déjà.
Cliquez sur l'icône du site, et assurez-vous que le volet de droite affiche Features view.
Double-cliquez sur l'icône Authentication.
Faites un clic droit sur Anonymous authentication et sélectionnez Disable.
Dans IIS Manager, ouvrez le répertoire \wwwroot, faites un clic droit sur wfgen et sélectionnez Convert to application.
Sélectionnez le groupe d'applications WorkflowGen s'il n'est pas la valeur par défaut, puis cliquez sur OK.
Les applications \wfgen\ws et \wfgen\WfApps\WebForms doivent être créées. Répétez les étapes que vous avez suivi pour \wfgen dans la section précédente.
Si vous utilisez IIS 8 ou supérieur et si votre groupe d’applications est configuré en mode Classic Managed Pipeline, assurez-vous que ASP.NET v4.0.30319 est réglé sur Allowed dans la liste ISAPI and CGI Restrictions dans IIS.
Les droits des fichiers peuvent être configurés de la manière suivante pour les utilisateurs de WorkflowGen :
Répertoire DRIVE:\Inetpub\wwwroot\wfgen : permission de modification pour tous les utilisateurs
Selon votre méthode d'authentification (voir la section ), l'identité de l'application WorkflowGen peut être :
Les utilisateurs Windows correspondants
L'identité de l'application groupe ASP.NET ou IIS
Pour utiliser les API GraphQL, Webhooks entrants, OpenID Connect Auth et SCIM facultatives, vous devez d'abord installer les prérequis suivants :
✏️ Note : Cette bibliothèque est requise si vous rencontrez l'erreur
Dans IIS, convertissez /wfgen/graphql en application avec un pool d’applications en .NET 4 (mode pipeline intégré).
Configurez le mode d’authentification de l’application GraphQL :
Pour l’authentification Windows ou de base : Activez l’authentification de base.
Dans IIS, convertissez /wfgen/hooks en application avec un pool d’applications en .NET 4 (mode pipeline intégré), et ensuite configurez l’application webhook en mode d’authentification anonyme.
Dans IIS, convertissez /wfgen/auth en application avec un pool d’applications en .NET 4 (mode pipeline intégré), et ensuite configurez l’application webhook en mode d’authentification Anonyme.
Dans IIS, convertissez /wfgen/scim en application avec un pool d’applications en .NET 4 (mode pipeline intégré), et ensuite configurez l’application webhook en mode d’authentification Anonyme.
SAML v2.0 fournit une authentification fédérée de niveau entreprise avec suivi des identifiants de requête pour la sécurité. Il permet à WorkflowGen de déléguer l’authentification à des systèmes de fournisseurs d’identité (IdP), afin que les utilisateurs puissent accéder à l’application avec leurs identifiants corporatifs existants.
DISQUE:\Program Files\Advantys\WorkflowGen v9Accordez à cet utilisateur les autorisations db_datawriter et db_datareader pour la base de données WFGEN.
Ouvrez le dossier source DISQUE:\temp\manual\Databases\MsSQLServer et exécutez le script create.sql sur la nouvelle instance de base de données.
Accordez à cet utilisateur les autorisations db_datawriter et db_datareader pour la base de données WFGEN.
Ouvrez le dossier source DISQUE:\temp\pack\Databases\MsSQLServer et exécutez le script de création de base de données create.sql sur la nouvelle instance de la base de données.
Databases\PostgreSQL\Create_WFG_SQL_FKeys.sqlDatabases\PostgreSQL\Create_WFG_SQL_Indexes.sql
Databases\PostgreSQL\Create_WFG_SQL_Triggers.sql
Databases\PostgreSQL\Create_WFG_SQL_Const.sql
Configurez WorkflowGen pour qu’il se connecte à PostgreSQL en mettant à jour la chaîne de connexion dans le fichier \wfgen\web.config.
📌 Exemple :
Créez un nouvel utilisateur PostgreSQL (p.ex. : wfgen_user) et accordez-lui les droits de lecture et d’écriture sur la base de données WorkflowGen.
Parité fonctionnelle : Certaines fonctionnalités de WorkflowGen peuvent se comporter différemment sous PostgreSQL en raison de différences de syntaxe SQL, de fonctions disponibles ou de caractéristiques de performance. La parité complète avec MS SQL Server est en cours d’évaluation pendant cette phase d’aperçu.
Recommandation de test : Pour les besoins d’évaluation, installez WorkflowGen avec PostgreSQL dans un environnement de test distinct afin d’éviter tout impact sur les systèmes de production.
wfgen_adminBase de données Azure SQL : VVoir la section Configuration de la base de données SQL Azure dans le guide WorkflowGen pour Azure.
Mettez à jour le nom d’utilisateur du compte WorkflowGen Administrator pour autoriser l’accès au panneau de configuration (ex. : <add key="ApplicationConfigAllowedUsersLogin" value="wfgen_admin" />).
Mettez à jour l'URL de l'application (ex. : <add key="ApplicationUrl" value="http://votresite/wfgen" />).
Ajoutez une clé de cryptage alphanumérique à 32 caractères (ex. : <add key="ApplicationSecurityPasswordSymmetricEncryptionKey" value="XXXXXXXXXXXXXXXXXXX....." />).
Si vous installez ces services avec des services WorkflowGen antérieurs sur le même serveur, vous devez spécifier un nouveau nom pour le service (ex. : WorkflowGenEngineServiceV7) pour les services Engine et Directory dans leurs fichiers de configuration ([WfgWorkflowEngineService.exe].config : <add key="ServiceName" value="WorkflowGenEnginerServiceV7"></add>) et fichiers script (winsvc-install.cmd : renommez toutes les instances de [WorkflowGenEngineService] à [WorkflowGenEngineServiceV7]). (Voir la section Configuration de plusieurs instances de WorkflowGen pour plus de renseignements et des instructions pour configurer plusieurs instances de WorkflowGen sur le même serveur.)
Indiquez le chemin du fichier de configuration de WorkflowGen (ex : <add key="WebConfigPath" value="DISQUE:\inetpub\wwwroot\wfgen\web.config"/>).
✏️ Note : Il se peut que WfgWorkflowEngineService.exe et WfgDirectoriesSyncService.exe soient bloqués. Pour vérifier, faites un clic droit sur eux et choisissez Propriétés. Si la section Sécurité est affichée en bas dans l’onglet Général, ces exécutables sont bloqués; dans ce cas, cliquez sur Débloquer.
Exécutez le fichier DISQUE:\Program Files\Advantys\WorkflowGen\Services\bin\winsvc-install.cmd.
Cliquez sur OK.
http ou https (https nécessite un certificat SSL). Sélectionnez un port (80 par défaut) et (ou) un port hôte. Veuillez contacter l'administrateur IIS pour revoir vos options pour la configuration appropriée du site Web.Le module spécifié est introuvableThe specified module could not be foundedgeedge-js/wfgen/graphql//wfgen/hooks/wfgen/scimPour l’authentification applicative WorkflowGen :
Assurez-vous que l’authentification applicative WorkflowGen est déjà appliquée à l’application Web /wfgen
Appliquez l’authentification anonyme.
<connectionStrings>
<add name="MainDbSource" connectionString="Host=localhost;Username=wfgen_user;Password=[wfgen_user_password];Database=[workflowgen_db_name];" providerName="Npgsql" />
</connectionStrings>sudo apt install postgresql-server-dev-all
git clone https://github.com/pgvector/pgvector.git
cd pgvector
make && sudo make installbrew install pgvectorCREATE EXTENSION IF NOT EXISTS vector;<location path="hooks" inheritInChildApplications="false">
<system.webServer>
<modules>
<remove name="ApplicationSecurityAuthenticationModule" />
</modules>
</system.webServer>
</location><location path="hooks" inheritInChildApplications="false">
<system.webServer>
<modules>
<remove name="MyCustomAuthModule" />
</modules>
</system.webServer>
</location><location path="auth" inheritInChildApplications="false">
<system.webServer>
<modules>
<remove name="ApplicationSecurityAuthenticationModule" />
</modules>
</system.webServer>
</location><location path="auth" inheritInChildApplications="false">
<system.webServer>
<modules>
<remove name="MyCustomAuthModule" />
</modules>
</system.webServer>
</location><location path="scim" inheritInChildApplications="false">
<system.webServer>
<modules>
<remove name="ApplicationSecurityAuthenticationModule" />
</modules>
</system.webServer>
</location><location path="scim" inheritInChildApplications="false">
<system.webServer>
<modules>
<remove name="MyCustomAuthModule" />
</modules>
</system.webServer>
</location>Voir la section Paramétrages de configuration OIDC ci-dessous pour un tableau répertoriant tous les paramétrages obligatoires et facultatifs, accompagnés de leur description et de leur valeur par défaut.
Fournisseur : saml-azure
Déconnexion complète via le portail
Déconnexion initiée par le fournisseur de services (SP)
Fournisseur : saml-pingfederate
Déconnexion complète via le portail
Déconnexion initiée par le fournisseur de services (SP)
Fournisseur : saml-auth0
Déconnexion complète via le portail
Déconnexion initiée par le fournisseur de services (SP)
Fournisseur : okta-saml
Déconnexion complète via le portail
Déconnexion initiée par le fournisseur de services (SP)
Le support de SAML v2.0 pour AD FS est encore en mode expérimental. Vous devez tester la configuration afin de vérifier sa compatibilité.
Fournisseur : saml-adfs
Déconnexion complète via le portail
Déconnexion initiée par le fournisseur de services (SP)
Le support de SAML v2.0 pour les fournisseurs génériques est encore en mode expérimental. Vous devez tester la configuration afin de vérifier sa compatibilité.
Fournisseur : saml-generic
Déconnexion complète via le portail
Déconnexion initiée par le fournisseur de services (SP)
Paramétrages essentiels
ApplicationSecurityAuthProviders
(requis)
Identifiant du fournisseur d'identité Par défaut : Non défini
ApplicationSecurityAuthClientId
(requis)
ID client OAuth Par défaut : Non défini
ApplicationSecurityAuthClientSecret
(requis)
Secret client OAuth Par défaut : Non défini
ApplicationSecurityAuthMetadataUrl
(requis)
Point de terminaison de métadonnées OIDC Par défaut : Non défini
ApplicationSecurityAuthSessionTokenSigningSecret
(requis)
Secret de signature JWT Par défaut : Non défini
Cette section décrit les différentes méthodes d'authentification des utilisateurs de WorkflowGen. Choisissez l’une d’elles selon vos exigences et appliquez les paramètres requis pour l’implémenter avec votre instance WorkflowGen.
(anciennement Azure Active Directory)
, anciennement Azure Active Directory
(assurée par IIS)
(assurée par IIS)
(assurée par HttpModule)
(assurée par HttpModule)
Les applications serveur et mobiles WorkflowGen peuvent être configurées pour utiliser les méthodes d'authentification compatibles OIDC ou les méthodes classiques non compatibles OIDC. La matrice ci-dessous indique les méthodes d'authentification supportées par les différentes applications WorkflowGen :
* Sauf Microsoft Identity Platform v2.0.
Voir ci-dessous pour les instructions sur comment configurer les méthodes d'authentification classiques (non compatibles OIDC) , , , et .
Si vous ne savez pas quelle méthode d'authentification classique choisir, suivez les procédures ci-dessous en fonction de votre situation :
Si tous les utilisateurs de WorkflowGen sont gérés dans un annuaire Active Directory, et que cet annuaire peut être atteint à partir du serveur Web qui héberge WorkflowGen, vous pouvez donc choisir l'une des méthodes d'authentification suivantes :
Authentification Windows intégrée (assurée par IIS)
Authentification HTTP IIS de base (assurée par IIS)
Paramètres IIS et WorkflowGen
Ouvrez le panneau de configuration de WorkflowGen. Sous Authentification dans l’onglet Général, sélectionnez le mode IIS.
Activez l’accès à l’authentification Windows intégrée sur le site Web de WorkflowGen et désactivez tous les mécanismes d'accès embarqués. Appliquez ce paramétrage à toutes les sous-applications sauf les applications graphql et ws.
Paramètres IIS et WorkflowGen
Activez l'accès à l'authentification de base sur le site Web de WorkflowGen et désactivez tous les mécanismes d'accès embarqués. Appliquez ce paramétrage à toutes les sous-applications.
Ouvrez le panneau de configuration de WorkflowGen. Sous Authentification dans l’onglet Général, sélectionnez le mode IIS.
Paramètres IIS et WorkflowGen
Pour utiliser l'authentification WorkflowGen, assurez-vous que l'option de gestion des mots de passe par WorkflowGen est sélectionnée pour tous les répertoires, qui vous permettra de configurer un mot de passe par utilisateur. Assurez-vous que votre utilisateur courant a un mot de passe WorkflowGen associé, sinon le compte sera verrouillé.
Ouvrez le Panneau de configuration de WorkflowGen et changez les paramètres sous Authentification dans l'onglet Général comme suit :
Sélectionnez le mode WorkflowGen.
Paramètres IIS et WorkflowGen
Au moyen de l’exemple de code donné dans la section créez une nouvelle classe pour le HttpModule que vous créez.
Modifiez l'exemple de code pour valider les justificatifs d’identité utilisés pour HTTP de base selon le référentiel de configuration externe.
Élaborez le module et copiez le fichier DLL d’assembly dans les répertoires \wfgen\bin et \wfgen\wfapps\webforms\bin.
Paramètres IIS et WorkflowGen
Modifiez le code de login.aspx pour valider les justificatifs d'identité utilisés pour HTTP de base selon le référentiel de configuration externe. Si vous ne disposez pas d'un référentiel de configuration externe, vous pouvez ajouter des utilisateurs directement dans le web.config de WorkflowGen (veuillez consulter la documentation .NET).
Le fichier login.aspx doit être copié dans tous les répertoires WebForms. Les services Web doivent continuer à utiliser l'authentification de base ou intégrée; ainsi, la page login.aspx ne peut être utilisée pour celles-ci.
À partir de la version 7.10.0, WorkflowGen est conforme FIPS et compatible avec le mode Windows conforme FIPS. Si vous souhaitez activer la conformité FIPS dans votre environnement Windows, vous devez configurer au préalable les modes de gestion des mots de passe de la configuration et de gestion des mots de passe utilisateur.
Dans la section Sécurité de l'onglet Général du panneau de configuration, définissez Mode de gestion des mots de passe de la configuration sur AES (FIPS compliant) et saisissez une clé de chiffrement à 32 caractères. Lorsque vous cliquez sur Enregistrer, les mots de passe des applications sont automatiquement convertis dans le nouveau mode de cryptage symétrique.
Dans la section Authentification de l'onglet Général du panneau de configuration, définissez Mode de gestion des mots de passe sur le mode One-way Hashing (SHA256 FIPS compliant).
Si vous utilisez l'authentification applicative en mode de gestion des mots de passe Version 5, les mots de passe des utilisateurs seront automatiquement convertis en mode One-way Hashing (SHA256 FIPS compliant) la prochaine fois qu'ils se connecteront à WorkflowGen.
Si vous utilisez l'authentification applicative en mode de gestion des passe One-way Hashing (SHA256 FIPS compliant) :
Sélectionnez le mode d'authentification IIS.
Cette section décrit comment configurer WorkflowGen pour utiliser un niveau de connexion de sécurité SSL sur le site Web.
Activez l’authentification SSL sur votre site WorkflowGen.
Vous devez modifier les paramètres suivants dans la configuration de WorkflowGen (ouvrez le Panneau de configuration depuis le module d’administration de WorkflowGen).
URL de l’application : vous devez modifier le protocole de l’application afin d’utiliser https://
Changez les liens vers WorkflowGen (favoris, etc...) avec https:// à la place de http://.
Pour permettre à une application cliente (telle que du code JavaScript frontal d'un domaine extérieur) d'accéder et de demander des données, vous devez activer et configurer les paramètres de (CORS). Pour ce faire :
Installez le sur le serveur Web WorkflowGen.
Ajoutez le nœud cors avec la liste des domaines externes et leurs méthodes et en-têtes (où les requêtes HTTP seront autorisées) aux paramètres de configuration Web de WorkflowGen (situés dans \wfgen\web.config). Voir quelques exemples courants ci-dessous.
📌 Exemple 1 : Autoriser toutes les origines
📌 Exemple 2 : Autoriser des origines spécifiques
Pour plus d'informations sur la configuration CORS, voir la page (disponible en anglais uniquement).
Assurez-vous d'avoir une copie de WorkflowGen sous licence installée et en fonctionnement sur un serveur. Vous devez être un administrateur WorkflowGen.
Assurez-vous d'avoir l'accès d'administrateur à Auth0.
Assurez-vous d'avoir approvisionné un utilisateur Auth0 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. L'utilisateur Auth0 est en fait un utilisateur d'un fournisseur d'identité qui est lié à Auth0, comme GitHub ou Google. Vous devez avoir approvisionné au moins un utilisateur.
Le mode de chiffrement AES et sa clé sont requis pour que l'authentification fonctionne.
La configuration d'Auth0 se fait dans plusieurs étapes. D'abord, vous devez inscrire l'application Web de WorkflowGen et la lier à votre instance de WorkflowGen; ensuite, vous devez inscrire l'API GraphQL de WorkflowGen pour pouvoir inscrire des applications personnalisées pour y accéder.
Naviguez à la section Applications dans le portail Auth0.
Cliquez sur Create Application et renseignez le formulaire :
Name : WorkflowGen Web App
Votre application Web régulière de WorkflowGen est maintenant configurée.
Vous devez maintenant inscrire le module de l'API GraphQL de WorkflowGen afin que les applications externes à WorkflowGen puissent utiliser l'API avec l'authentification Auth0 en utilisant le protocole OpenID Connect.
Accédez à la section APIs dans le portail Auth0.
Cliquez sur Create API et renseignez le formulaire :
Name : WorkflowGen GraphQL API
Accédez à la section APIs dans le portail Auth0.
Cliquez sur Create API et renseignez le formulaire :
Name : My APIs
L'API GraphQL est maintenant inscrite dans Auth0.
Pour obtenir un bon nom d'utilisateur du jeton d'accès lors de sa réception dans l'API GraphQL, vous devez utilisez une fonctionnalité spéciale d'Auth0 appelée action. Les actions agissent en tant qu'intergiciels (« middleware ») entre le fournisseur cloud lié et Auth0 afin de récupérer les valeurs correctes au besoin.
Accédez au portail Auth0 et sélectionnez Actions dans le menu de gauche, puis sélectionnez Library dans le sous-menu.
Cliquez sur Create Action, puis choisissez le modèle Build from scratch.
Donnez un nom à l'action (p.ex. WorkflowGen (Action)). Trigger doit être réglé sur Login / Post Login et Runtime doit être réglé sur
Cette étape assurera que WorkflowGen et l'API GraphQL obtiendront toujours un nom d'utilisateur depuis la même revendication au lieu de devoir faire plusieurs instructions conditionnelles. Cependant, ceci ne s'applique pas à l'authentification de machine à machine car il n'y aucun utilisateur humain impliqué.
Si vous utilisez une revendication de la correspondance Auth0 autre que celle spécifiée dans la fonction ci-dessus (p.ex. user.username, user.email, user.nickname), il suffit tout simplement de modifier cette règle ou ajouter la vôtre. Assurez-vous d'alimenter https://api.workflowgen.com/username avec la valeur, ou de configurer l'option ApplicationSecurityAuthUsernameClaim dans votre web.config avec la bonne revendication à prendre. Notez que cette option est utilisée dans l'application d'authentification ainsi que dans l'API GraphQL.
Maintenant, vous devez configurez WorkflowGen pour déléguer son authentification à Auth0.
web.config de WorkflowGenOuvrez le fichier web.config de WorkflowGen et ajoutez-y les propriétés suivantes sous <appSettings> :
Utilisation classique :
Avec support multi-audiences :
Remplacez <CLIENT_ID> par l'ID client de l'application Web régulière de WorkflowGen dans Auth0.
Notez que la clé ApplicationSecurityAuthUsernameClaim est réglée sur la valeur saisie dans la règle antérieurement, donc vous pouvez utiliser n'importe quelle valeur ici à condition que vous modifiez aussi la règle.
WorkflowGen est maintenant lié à Auth0 et réciproquement. La dernière étape est de configurer quelques options pour finaliser le « câblage interne ».
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.
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.
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 authentifications.
Répétez ces étapes pour toutes les sous-applications.
web.config de certains modulesCertains 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 module auth :
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.
Vous devriez maintenant avoir une instance de WorkflowGen en fonctionnement avec l'authentification déléguée à Auth0 via le protocole OpenID Connect. Assurez-vous d'avoir approvisionné vos utilisateurs à WorkflowGen afin qu'ils puissent accéder à WorkflowGen.
Cette fonctionnalité n'est pas supportée pour Auth0. Il est nécessaire de configurer l'API GraphQL sur le fournisseur.
<add key="ApplicationSecurityAuthProvider" value="saml-azure" />
<add key="ApplicationSecurityAuthSAMLEntryPoint" value="https://login.microsoftonline.com/{tenant-id}/saml2" />
<add key="ApplicationSecurityAuthSAMLIssuer" value="https://{your-workflowgen-domain}/wfgen/auth" />
<add key="ApplicationSecurityAuthSAMLIdpIssuer" value="https://sts.windows.net/{tenant-id}/" />
<add key="ApplicationSecurityAuthSAMLCert" value="-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----" />
<add key="ApplicationSecurityAuthSAMLPrivateKey" value="-----BEGIN PRIVATE KEY-----...-----END PRIVATE KEY-----" />
<add key="ApplicationSecurityAuthSAMLIdpCert" value="-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----" />
<add key="ApplicationSecurityAuthSessionTokenSigningSecret" value="your-session-secret" /><add key="ApplicationSecurityAuthSAMLLogoutPortalUrl" value="https://myapps.microsoft.com/logout" /><add key="ApplicationSecurityAuthSAMLLogoutUrl" value="https://login.microsoftonline.com/{tenant-id}/saml2" /><add key="ApplicationSecurityAuthProvider" value="saml-pingfederate" />
<add key="ApplicationSecurityAuthSAMLEntryPoint" value="https://auth.pingone.ca/{environment-id}/saml20/idp/sso" />
<add key="ApplicationSecurityAuthSAMLIssuer" value="https://{your-workflowgen-domain}/wfgen/auth" />
<add key="ApplicationSecurityAuthSAMLIdpIssuer" value="https://auth.pingone.ca/{environment-id}" />
<add key="ApplicationSecurityAuthSAMLCert" value="-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----" />
<add key="ApplicationSecurityAuthSAMLPrivateKey" value="-----BEGIN PRIVATE KEY-----...-----END PRIVATE KEY-----" />
<add key="ApplicationSecurityAuthSAMLIdpCert" value="-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----" />
<add key="ApplicationSecurityAuthSessionTokenSigningSecret" value="your-session-secret" />
<!-- PingFederate wants logout requests to be signed - required for PingFederate SLO -->
<add key="ApplicationSecurityAuthSAMLWantLogoutRequestsSigned" value="true" />
<!-- PingFederate wants assertions to be signed - required for PingFederate SLO -->
<add key="ApplicationSecurityAuthSAMLWantAssertionsSigned" value="true" /><add key="ApplicationSecurityAuthSAMLLogoutPortalUrl" value="https://auth.pingone.ca/{environment-id}/saml20/idp/slo" /><add key="ApplicationSecurityAuthSAMLLogoutUrl" value="https://auth.pingone.ca/{environment-id}/saml20/idp/slo" /><add key="ApplicationSecurityAuthProvider" value="saml-auth0" />
<add key="ApplicationSecurityAuthSAMLEntryPoint" value="https://{tenant-id}.auth0.com/samlp/{client-id}" />
<add key="ApplicationSecurityAuthSAMLIssuer" value="https://{your-workflowgen-domain}/wfgen/auth" />
<add key="ApplicationSecurityAuthSAMLIdpIssuer" value="urn:{tenant-id}.auth0.com" />
<add key="ApplicationSecurityAuthSAMLCert" value="-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----" />
<add key="ApplicationSecurityAuthSAMLPrivateKey" value="-----BEGIN PRIVATE KEY-----...-----END PRIVATE KEY-----" />
<add key="ApplicationSecurityAuthSAMLIdpCert" value="-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----" />
<add key="ApplicationSecurityAuthSessionTokenSigningSecret" value="your-session-secret" />
<!-- Auth0 wants assertions to be signed - required for Auth0 SLO -->
<add key="ApplicationSecurityAuthSAMLWantAssertionsSigned" value="true" /><add key="ApplicationSecurityAuthSAMLLogoutPortalUrl" value="https://{tenant-id}.auth0.com/logout" /><add key="ApplicationSecurityAuthSAMLLogoutUrl" value="https://{tenant-id}.auth0.com/samlp/{client-id}/logout" /><add key="ApplicationSecurityAuthProvider" value="saml-okta" />
<add key="ApplicationSecurityAuthSAMLEntryPoint" value="https://{okta-domain-id}.okta.com/app/{app-name}/{app-id}/sso/saml" />
<add key="ApplicationSecurityAuthSAMLIssuer" value="https://{your-workflowgen-domain}/wfgen/auth" />
<add key="ApplicationSecurityAuthSAMLIdpIssuer" value="https://www.okta.com/{app-id}" />
<add key="ApplicationSecurityAuthSAMLCert" value="-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----" />
<add key="ApplicationSecurityAuthSAMLPrivateKey" value="-----BEGIN PRIVATE KEY-----...-----END PRIVATE KEY-----" />
<add key="ApplicationSecurityAuthSAMLIdpCert" value="-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----" />
<add key="ApplicationSecurityAuthSessionTokenSigningSecret" value="your-session-secret" /><add key="ApplicationSecurityAuthSAMLLogoutPortalUrl" value="https://{okta-domain-id}.okta.com/login/signout" /><add key="ApplicationSecurityAuthSAMLLogoutUrl" value="https://{okta-domain-id}.okta.com/app/{app-name}/{app-id}/slo/saml" /><add key="ApplicationSecurityAuthProvider" value="saml-adfs" />
<add key="ApplicationSecurityAuthSAMLEntryPoint" value="https://{your-adfs-server}/adfs/ls/" />
<add key="ApplicationSecurityAuthSAMLIssuer" value="https://{your-workflowgen-domain}/wfgen/auth" />
<add key="ApplicationSecurityAuthSAMLIdpIssuer" value="https://{your-adfs-server}/adfs/services/trust" />
<add key="ApplicationSecurityAuthSAMLCert" value="-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----" />
<add key="ApplicationSecurityAuthSAMLPrivateKey" value="-----BEGIN PRIVATE KEY-----...-----END PRIVATE KEY-----" />
<add key="ApplicationSecurityAuthSAMLIdpCert" value="-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----" />
<add key="ApplicationSecurityAuthSessionTokenSigningSecret" value="your-session-secret" /><add key="ApplicationSecurityAuthSAMLLogoutPortalUrl" value="https://{your-adfs-server}/adfs/ls/?wa=wsignout1.0" /><add key="ApplicationSecurityAuthSAMLLogoutUrl" value="https://{your-adfs-server}/adfs/ls/?wa=wsignout1.0" /><add key="ApplicationSecurityAuthProvider" value="saml-generic" />
<add key="ApplicationSecurityAuthSAMLEntryPoint" value="https://{your-idp-server}/sso/saml" />
<add key="ApplicationSecurityAuthSAMLIssuer" value="https://{your-workflowgen-domain}/wfgen/auth" />
<add key="ApplicationSecurityAuthSAMLIdpIssuer" value="https://{your-idp-server}" />
<add key="ApplicationSecurityAuthSAMLCert" value="-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----" />
<add key="ApplicationSecurityAuthSAMLPrivateKey" value="-----BEGIN PRIVATE KEY-----...-----END PRIVATE KEY-----" />
<add key="ApplicationSecurityAuthSAMLIdpCert" value="-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----" />
<add key="ApplicationSecurityAuthSessionTokenSigningSecret" value="your-session-secret" /><add key="ApplicationSecurityAuthSAMLLogoutPortalUrl" value="https://{your-idp-server}/logout" /><add key="ApplicationSecurityAuthSAMLLogoutUrl" value="https://{your-idp-server}/slo/saml" />Revendications d’utilisateur
ApplicationSecurityAuthUsernameClaim
Nom de revendication du nom d’utilisateur
Par défaut : preferred_username
ApplicationSecurityAuthAppIdClaim
Nom de revendication de l’identifiant d’application
Par défaut : appid
ApplicationSecurityAuthAccessTokenUsernameClaim
Revendication du nom d’utilisateur dans le jeton d’accès
Par défaut : upn
Paramétrages des jetons
ApplicationSecurityAuthAudience
Validation de l’audience du jeton Par défaut : Vide
ApplicationSecurityAuthDecodeAccessToken
Décoder le jeton d’accès
Par défaut : N
ApplicationSecurityAuthExposeAccessTokenInCookies
Exposer le jeton dans les témoins (cookies)
Par défaut : N
ApplicationSecurityAuthClockTolerance
Tolérance d’horloge JWT (secondes)
Par défaut : 60
Session et flux
ApplicationSecurityAuthSessionTokenSigningSecret
(requis)
Secret de signature du jeton de session JWT Par défaut : Non défini
ApplicationSecurityAuthSessionTokenAudience
Audience du jeton de session JWT Par défaut : URL de l’application
ApplicationSecurityAuthSessionTimeOut
Expiration de session (secondes) Par défaut : Non défini
ApplicationSecurityAuthMobileSessionTimeOut
Expiration de session mobile (secondes)
Par défaut : 7200
ApplicationSecurityAuthResponseMode
Mode de réponse OIDC
Par défaut : form_post
ApplicationSecurityAuthSessionRefreshEnableIFrame
Activer le rafraîchissement dans l’iframe
Par défaut : Y
ApplicationSecurityAuthCheckSessionUrl
URL de l’iframe de vérification de session Par défaut : Vide
ApplicationSecurityAuthLogoutUrl
URL de déconnexion personnalisée Par défaut : Vide
ApplicationSecurityAuthAcrValues
Classe de contexte d’authentification Par défaut : Vide
AD FS
Authentification par formulaires (assurée par .NET)
✔️*
❌
✔️
✔️
✔️
✔️
❌
WorkflowGen Plus v1.x.x (Android)
✔️*
❌
✔️
✔️
✔️
✔️
❌
WorkflowGen app mobile héritée v2.x.x (iOS)
❌
❌
✔️
✔️
✔️
✔️
❌
WorkflowGen app mobile héritée v2.x.x (Android)
❌
❌
✔️
❌
✔️
✔️
❌
Authentification Windows intégrée (assurée par IIS)
Si l’article 1 ci-dessus ne correspond pas à votre situation, et que tous les utilisateurs de WorkflowGen sont gérés dans une application externe telle qu'une base de données ou authentifiés par une solution SSO, vous pouvez donc choisir l'une des méthodes d'authentification suivantes :
Authentification HTTP personnalisée de base (assurée par HttpModule)
Authentification par formulaires (assurée par .NET)
Si ni l’article 1 ni l’article 3 ne correspondent à votre situation parce que vous ne disposez d'aucun annuaire ou d'aucune autres solutions d'authentification, le seul choix de méthode d'authentification est la suivante :
Authentification HTTP WorkflowGen de base (assurée par HttpModule)
✏️ Note : Pour toutes les méthodes d'authentification HTTP de base et par formulaires, nous vous recommandons fortement d'utiliser SSL du fait que les mots de passe ne sont pas encryptés.
Entrez le nom d’utilisateur et le mot de passe du compte système associé.
Choisissez le mode de gestion des mots de passe : le mode Version 5 utilise le même mode de gestion des mots de passe que les versions antérieures de WorkflowGen, tandis que le mode One-way Hashing (hachage à sens unique) stocke les mots de passe cryptés dans la base de données de WorkflowGen et One-way Hashing (SHA256 FIPS compliant) (hachage à sense unique compatible FIPS) stocke les mots passe cryptés dans la base de données de WorkflowGen et est compatible FIPS.
Entrez le nombre maximum de tentatives de connexion infructueuses avant que le compte d’utilisateur ne soit verrouillé.
Entrez la longueur minimum (en caractères) du mot de passe.
Activez l'accès anonyme sur le site Web de WorkflowGen et désactivez tous les mécanismes d'accès embarqués. Appliquez ce paramétrage à toutes les sous-applications.
Les fichiers Advantys.My.dll et Advantys.Security.dll doivent être copiés dans tous les répertoires \bin des applications sous WorkflowGen, telles que EFORMASPX, ainsi que dans tous les dossiers WebForm et WebApps. Les services Web doivent continuer à utiliser l'authentification de base ou intégrée.
En option, vous pouvez activer le lien de déconnexion de l'utilisateur dans les menus du portail utilisateur et du module d'administration en définissant un délai d'expiration de la session d'application dans le fichier web.config. La session de l'utilisateur expirera en cas d'inactivité après une période (en minutes) spécifiée par la valeur du paramètre de configuration ApplicationSessionTimeOut.
Par exemple, pour que la session de l'utilisateur expire après 30 minutes d'inactivité, modifiez le paramètre comme suit : <add key="ApplicationSessionTimeOut" value="30" />.
Le fichier DLL d’assembly doit être copié dans tous les répertoires \bin de vos formulaires Web. Vos services Web peuvent utiliser l’authentification de base ou intégrée, ou votre module HTTP personnalisé.
Ouvrez le Panneau de configuration de WorkflowGen et changez les paramètres sous Authentification comme suit :
Sélectionnez le mode Applicatif.
Sélectionnez la méthode Custom.
Saisissez le nom complet de l'assembly (espace de noms et nom de classe) du module HTTP (p.ex. MyCompany.Hosting.Samples.CustomAuthModule).
Activez l'accès anonyme sur le site Web de WorkflowGen et désactivez tous les mécanismes d'accès embarqués. Appliquez ce paramétrage à toutes les sous-applications.
Dans le web.config de WorkflowGen, enregistrez le formulaire d'authentification :
✏️ Note : Dans le web.config de WorkflowGen, configurez la protection d'attributs à None ou protection à All au nœud forms. Si All est utilisé, l'attribut et la valeur machineKey doivent être ajoutés aussi. (Pour plus d’informations sur l’authentification par formulaire, voir http://quickstarts.asp.net/QuickStartv20/aspnet/doc/security/formsauth.aspx.
Définissez l'authentification à Windows pour chaque application WebService de WorkflowGen dans le fichier web.config et remettez les paramètres de sécurité à Basic ou Integrated dans IIS pour ces dossiers.
Activez l'accès anonyme sur le site Web de WorkflowGen et désactivez tous les mécanismes d'accès embarqués. Appliquez ce paramétrage à toutes les sous-applications.
Sélectionnez le mode de gestion des mots de passe One-way Hashing (SHA256 FIPS compliant), puis cliquez sur Enregistrer.
Saisissez à nouveau tous les mots de passe utilisateur.
Réinitialisez le mode d'authentification sur applicatif.
OIDC
SAML v2.0
HTTP IIS de base
IIS Windows intégrée
HTTP WorkflowGen de base
HTTP personnalisée de base
Par formulaires
WorkflowGen v9.3.0 ou version ultérieure
✔️
✔️
✔️
✔️
✔️
✔️
✔️
WorkflowGen Plus v1.x.x (iOS)
<configuration>
<system.web>
<authentication mode="Forms">
<forms name="401kApp" timeout="30" loginUrl="/wfgen/login.aspx" cookieless="AutoDetect" defaultUrl="/wfgen/default.aspx" protection="None" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</configuration><configuration>
<system.web>
<httpModules>
<add name="ApplicationSecurityAuthenticationModule" type="Advantys.Security.Http.AuthenticationModule" />
</httpModules>
</system.web>
</configuration> <configuration>
<system.webServer>
<modules>
<add name="ApplicationSecurityAuthenticationModule" type="Advantys.Security.Http.AuthenticationModule" />
</modules>
</system.webServer>
</configuration><configuration>
<system.web>
<httpModules>
<add name="ApplicationSecurityAuthenticationModule" type="MyCompany.Hosting.Samples.CustomAuthModule" />
</httpModules>
</system.web>
</configuration> <configuration>
<system.webServer>
<modules>
<add name="ApplicationSecurityAuthenticationModule" type="MyCompany.Hosting.Samples.CustomAuthModule" />
</modules>
</system.webServer>
</configuration><configuration>
<system.webServer>
<cors enabled="true">
<add origin="*">
<allowMethods>
<add method="GET" />
<add method="POST" />
<add method="OPTIONS" />
<add method="HEAD" />
</allowMethods>
<allowHeaders>
<add header="Accept" />
<add header="Origin" />
<add header="Authorization" />
<add header="Content-Type" />
</allowHeaders>
</add>
</cors>
</system.webServer>
</configuration><configuration>
<system.webServer>
<cors enabled="true">
<add origin="https://domain.b.com" allowCredentials="true">
<allowMethods>
<add method="GET" />
<add method="POST" />
<add method="OPTIONS" />
<add method="HEAD" />
</allowMethods>
<allowHeaders>
<add header="Accept" />
<add header="Origin" />
<add header="Authorization" />
<add header="Content-Type" />
</allowHeaders>
</add>
<add origin="https://domain.c.com" allowCredentials="true">
<allowMethods>
<add method="GET" />
<add method="POST" />
<add method="OPTIONS" />
<add method="HEAD" />
</allowMethods>
<allowHeaders>
<add header="Accept" />
<add header="Origin" />
<add header="Authorization" />
<add header="Content-Type" />
</allowHeaders>
</add>
</cors>
</system.webServer>
</configuration>Type : Regular Web Application
Cliquez sur Create. Vous devriez maintenant voir la page « Quick Start » de l'application.
Dans l'onglet Settings, défilez vers le bas jusqu'à la section Allowed Callback URLs et ajoutez-y https://<workflowgen url>/auth/callback.
Défilez vers le bas jusqu'à la section Allowed Logout URLs et ajoutez-y https://<workflowgen url>/auth/logout/return.
Identifier : https://<workflowgen url>/graphql
Signing algorithm : RS256
Cliquez sur Create.
Identifier : my-apis
Signing algorithm : RS256
Cliquez sur Create.
Cliquez sur Permissions.
Dans la section Define all the permissions (scopes) that this API uses, saisissez les informations suivantes :
Permission: wfgen-graphql-full-access
Description: Full access to the WorkflowGen GraphQL API
Cliquez sur ADD.
Remplacez le code par le code suivant :
Cliquez sur Deploy.
Accédez au portail Auth0 et sélectionnez Actions dans le menu de gauche, puis sélectionnez Flows dans le sous-menu.
Sur la page Flows, cliquez sur l'icône Login.
Dans le panneau de droite de la vue graphique, sélectionnez l'onglet Custom, où votre action personnalisée doit apparaître.
Glissez-déplacez votre action entre les actions Start et Complete.
Cliquez sur le bouton Apply en haut à droite.
<CLIENT SECRET> par la clé secrète client de l'application Web régulière de WorkflowGen dans Auth0.
Remplacez <METADATA_URL> par l'URL que vous avez construit antérieurement depuis votre nom de domaine dans Auth0.
hooks et scim.
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
exports.onExecutePostLogin = async (event, api) => {
const username = event.user.username || event.user.email || event.user.nickname;
api.accessToken.setCustomClaim('https://api.workflowgen.com/username', username);
api.idToken.setCustomClaim('https://api.workflowgen.com/username', username);
return;
} <!-- Auth0 auth -->
<add key="ApplicationSecurityAuthProvider" value="auth0"/>
<add key="ApplicationSecurityAuthClientId" value="<CLIENT ID>" />
<add key="ApplicationSecurityAuthClientSecret" value="<CLIENT SECRET>" />
<add key="ApplicationSecurityAuthMetadataUrl" value="<METADATA URL>" />
<add key="ApplicationSecurityAuthUsernameClaim" value="https://api.workflowgen.com/username" />
<add key="ApplicationSecurityAuthAppIdClaim" value="azp" />
<add key="ApplicationSecurityAuthClockTolerance" value="60" />
<add key="ApplicationSecurityAuthSessionRefreshEnableIFrame" value="Y"/> <!-- Auth0 auth -->
<add key="ApplicationSecurityAuthProvider" value="auth0"/>
<add key="ApplicationSecurityAuthClientId" value="<CLIENT ID>" />
<add key="ApplicationSecurityAuthClientSecret" value="<CLIENT SECRET>" />
<add key="ApplicationSecurityAuthMetadataUrl" value="<METADATA URL>" />
<add key="ApplicationSecurityAuthUsernameClaim" value="https://api.workflowgen.com/username" />
<add key="ApplicationSecurityAuthAppIdClaim" value="azp" />
<add key="ApplicationSecurityAuthClockTolerance" value="60" />
<add key="ApplicationSecurityAuthSessionRefreshEnableIFrame" value="Y"/>
<add key="ApplicationSecurityAuthAudience" value="my-apis"/>
<add key="ApplicationSecurityAuthAdditionalScopes" value="wfgen-graphql-full-access"/>
<add key="ApplicationSecurityAuthGraphScope" value="wfgen-graphql-full-access"/><!-- Auth -->
<add key="ApplicationSecurityAuthLogoutUrl" value="https://<your auth0 domain>.auth0.com/v2/logout"/>
<add key="ApplicationSecurityAuthSessionTokenSigningSecret" value="<SECRET>" /><?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<modules>
<add name="ApplicationSecurityAuthenticationModule" type="Advantys.Security.Http.JWTAuthenticationModule" />
</modules>
</system.webServer>
</configuration><?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<modules>
<remove name="ApplicationSecurityAuthenticationModule"/>
</modules>
</system.webServer>
</configuration>Cette section fournit les instructions sur comment configurer l'authentification déléguée WorkflowGen avec Okta. À la fin de la section, vous aurez une instance de WorkflowGen en fonctionnement qui utilise Okta pour authentifier vos utilisateurs.
Assurez-vous d'avoir une copie de WorkflowGen sous licence installée et en fonctionnement sur un serveur. Vous devez être un administrateur WorkflowGen.
Assurez-vous d'avoir un accès administrateur Okta pour pouvoir le configurer correctement.
Assurez-vous d'avoir approvisionné un utilisateur Okta existant avec 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. (L'utilisateur Okta est en fait un utilisateur d'un fournisseur d'identité qui est lié à Okta, comme GitHub ou Google. Vous devez avoir approvisionné au moins un des utilisateurs.)
Le nom d'utilisateur de l'utilisateur WorkflowGen doit correspondre au nom d'utilisateur de son utilisateur Okta afin d'identifier et d'authentifier l'utilisateur correct d'Okta.
Pour tester la configuration après avoir suivi les étapes suivantes, vous pouvez ajouter un utilisateur Okta dans la section Users du portail Okta.
La configuration d'Okta se fait dans plusieurs étapes. D'abord, vous devez configurer un serveur d'autorisation dans l'interface Web; ensuite, vous devez y ajouter une application Web régulière.
La configuration de l'API WorkflowGen GraphQL (serveur d'autorisation) est requise si vous souhaitez utiliser l'application mobile WorkflowGen Plus v2.
Un serveur d'autorisation Okta est un élément logique qui définit les limites de sécurité de votre système lorsqu'une application tente d'accéder à vos ressources depuis une API.
An authorization server defines your security boundary, and is used to mint access and identity tokens for use with OIDC clients and OAuth 2.0 service accounts when accessing your resources via API. Within each authorization server you can define your own OAuth scopes, claims, and access policies. Source : Encadré d'informations dans le panneau d'administration d'Okta
Pour plus d'informations sur les serveurs d'autorisation, voir (disponible en Anglais seulement).
Accédez au portail des développeurs Okta et connectez-vous à votre compte.
Dans le panneau de gauche, choisissez API dans le menu Sécurité.
Cliquez sur Add Authorization Server dans l'onglet Authorization Servers.
Accédez au portail des développeurs Okta et connectez-vous à votre compte.
Dans le panneau de gauche, choisissez API dans le menu Sécurité.
Cliquez sur Add Authorization Server dans l'onglet Authorization Servers.
Accédez à l'onglet Scopes du serveur d'autorisation de l'API WorkflowGen GraphQL.
Cliquez sur le bouton Add Scope.
Entrez les informations suivantes :
Accédez à l'onglet Scopes du serveur d'autorisation de l'API WorkflowGen GraphQL.
Cliquez sur le bouton Add scopes.
Entrez les informations suivantes :
Vous avez maintenant correctement configuré votre serveur d'autorisation Okta pour l'API WorkflowGen GraphQL.
Naviguez à la section Claims, puis cliquez sur le bouton Add Claim.
Entrez les informations suivantes :
Name : com.workflowgen.api.username
Vous devez maintenant configurer la stratégie d'accès au serveur d'autorisation.
Accédez à l'onglet Access Policies du serveur d'autorisation WorkflowGen GraphQL API.
Cliquez sur le bouton Add Policy.
Entrez les informations suivantes :
Vous avez maintenant configuré avec succès la stratégie d'accès au serveur d'autorisation. Il ne reste plus qu'une étape pour que le flux d'informations d'identification du client fonctionne, ce qui vous permettra d'utiliser l'authentification de machine à machine avec Okta et l'API WorkflowGen GraphQL.
Accédez au portail des développeurs Okta.
Dans l'élément Applications du menu Applications, cliquez sur le bouton Create App Integration.
Sélectionnez les options suivantes dans Create a new app integration, puis cliquez sur Next :
Vous avez maintenant configuré Okta pour votre instance de WorkflowGen.
Vous devriez maintenant avoir toutes les informations dont vous aurez besoin pour configurer WorkflowGen pour déléguer l'authentification à Okta. Voici un résumé :
Un ID client et un secret client, qui se trouvent dans l'onglet General de l'application Web WorkflowGen d'Okta.
Une audience et un point de terminaison des métadonnées (Metadata URI), qui se trouvent sur la page du serveur d'autorisation WorkflowGen GraphQL API d'Okta.
Maintenant, vous devez configurer WorkflowGen pour déléguer son authentification à Okta.
web.config de WorkflowGenOuvrez le fichier web.config de WorkflowGen et ajouter/modifier les propriétés suivantes :
Utilisation classique :
Avec support multi-audiences :
Remplacez <CLIENT ID> par l'ID client de l'application Web WorkflowGen d'Okta.
Remplacez <CLIENT_SECRET> par le secret client de l'application Web WorkflowGen d'Okta.
Remplacez <METADATA_URL> par la propriété Metadata URI
Vous avez probablement remarqué que le paramètre avec la clé ApplicationSecurityAuthUsernameClaim est réglé sur la valeur entrée précédemment dans une règle. Par conséquent, vous pouvez utiliser n'importe quelle valeur ici à condition que vous modifiiez également la règle.
WorkflowGen est maintenant lié à Okta et réciproquement. Il ne reste plus qu'à configurer quelques options supplémentaires afin de terminer le « câblage interne » de WorkflowGen afin qu'il puisse déléguer son authentification.
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/modifier 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.
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 Gestionnaire IIS, cliquez sur l'application WorkflowGen dans l'arborescence.
Cliquez sur le bouton Authentification.
Activez Authentification anonyme et désactivez toutes les autres authentifications.
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.
Ouvrez le fichier web.config de WorkflowGen et ajoutez/modifiez la propriété suivante :
Dans le fichier web.config du module auth, ajoutez/modifiez la propriété suivante :
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.
Vous devriez maintenant avoir une instance de WorkflowGen en fonctionnement avec l'authentification déléguée à Okta via le protocole OpenID Connect. Assurez-vous d'avoir approvisionné vos utilisateurs à WorkflowGen afin qu'ils puissent accéder à WorkflowGen.
Si, pour une raison quelconque, vous ne pouvez pas ajouter de serveur d'autorisation dans votre compte Okta et que vous n'avez pas besoin de l'authentification API GraphQL configurée avec le fournisseur, vous pouvez éviter de créer le serveur et configurer WorkflowGen avec le serveur d'autorisation Okta par défaut.
Accédez au portail des développeurs Okta.
Dans l'élément Applications sous le menu Applications, cliquez sur le bouton Create App Integration.
Sélectionnez les options suivantes dans Create a new app integration, puis cliquez sur Next :
Vous avez maintenant configuré avec succès Okta pour votre instance WorkflowGen.
Ajoutez ou modifiez les options de configuration suivantes dans le fichier web.config de WorkflowGen :
Remplacez la valeur de MetadataUrl par https://<YOUR OKTA DOMAIN>/.well-known/openid-configuration.
Remplacez la valeur de UsernameClaim par preferred_username.
Remplacez la valeur de
Gardez à l'esprit qu'en définissant ApplicationSecurityAuthDecodeAccessToken=N, la date d'expiration du jeton de session généré par WorkflowGen sera basée sur celle du jeton d'ID.
Vous ne pourrez pas utiliser le jeton d'accès reçu d'Okta pour interroger l'API GraphQL. Ce jeton d'accès vous donnera accès à l'API Okta et à rien d'autre. Pour interroger l'API GraphQL, vous devrez configurer l'authentification de GraphQL avec une autre méthode, comme l'authentification de base.
Pour générer un jeton de session, vous devez ajouter quelques paramètres supplémentaires au fichier web.config.
Ouvrez le fichier web.config de WorkflowGen et ajoutez/modifiez la propriété suivante :
Remplacez <SECRET> par une valeur difficile à deviner, telle qu'un UUID.
Le secret ne sera accessible qu'à l'intérieur de votre instance de WorkflowGen, donc lors de la génération d'un jeton de session, WorkflowGen le signera avec ce secret afin de vérifier la validité de tous les jetons de session qui lui sont transmis.
Vous devez maintenant activer la délégation en remplaçant le système d'authentification dans IIS et en pointant les modules de WorkflowGen vers le bon module d'authentification.
Dans Gestionnaire IIS, cliquez sur l'application WorkflowGen dans l'arborescence.
Cliquez sur le bouton Authentification.
Activez l'Authentification anonyme et désactivez toutes les autres authentifications.
Effectuez également ces étapes pour toutes les sous-applications.
web.config de certains modulesCertains modules doivent faire vérifier leur authentification par le module d'authentification spécial Advantys.Security.JWTAuthenticationModule de WorkflowGen, mais certains autres modules ne le doivent pas car ils sont publics ou ne font pas partie du système d'authentification global.
Ouvrez le fichier web.config de WorkflowGen et ajoutez/modifiez la propriété suivante :
Dans le fichier web.config du module auth, ajoutez/modifiez la propriété suivante :
Cette ligne supprime le module d'authentification Node.js du système d'authentification global, car cette application Node.js encapsule les mécanismes d'authentification OpenID Connect.
Vous devriez maintenant avoir une instance WorkflowGen fonctionnelle avec l'authentification déléguée à Okta via le protocole OpenID Connect. Assurez-vous d'avoir provisionné vos utilisateurs sur WorkflowGen afin qu'ils puissent accéder avec succès à WorkflowGen.
Le mode de chiffrement AES et sa clé sont requis pour que l'authentification fonctionne.
Lorsque vous importez des utilisateurs dans WorkflowGen depuis la base de données d'Okta, assurez-vous de définir le nom d'utilisateur comme son adresse email (p.ex. [email protected]).
Name : WorkflowGen GraphQL API
Audience : <workflowgen url>/graphql
Description : WorkflowGen GraphQL API (ou la description que vous voulez)
Cliquez sur le bouton Save.
Name : My APIs
Audience : my-apis
Description : Authorization server for all my APIs (ou la description que vous voulez)
Cliquez sur le bouton Save.
defaultDisplay phrase : default
Description : Use the default scope if no other scope is specified
Default scope : Cochez Set as a default scope
Cliquez sur le bouton Create.
wfgen-graphql-full-accessDisplay phrase : wfgen-graphql-full-access
Description : Full access to the WorkflowGen GraphQL API.
Cliquez sur le bouton Create.
Include in token type : Sélectionnez Access Token
Value Type : Sélectionnez Expression
Mapping : Entrez le code Okta suivant :
Include in : Sélectionnez Any scope
✏️ Note : Cette étape garantira que WorkflowGen et l'API GraphQL obtiendront toujours un nom d'utilisateur via la même revendication au lieu d'avoir à faire de nombreuses déclarations conditionnelles.
Cliquez sur le bouton Create.
Ajoutez une deuxième revendication avec les mêmes informations, mais cette fois-ci réglez la propriété Include in token type sur Id Token.
Cliquez sur le bouton Create.
All Clients PolicyDescription : Enables all clients to have access to this application server.
Assign to : All clients
Cliquez sur le bouton Create Policy.
Cliquez sur le bouton Add Rule.
Entrez les informations suivantes :
Rule Name : All Grant Types; Any Scopes; Any User assigned
Laissez les autres paramétrages réglés sur leurs valeurs par défaut.
Cliquez sur le bouton Create Rule.
Sign-in method : OIDC - OpenID Connect
Application type : Web Application
Entrez les informations suivantes :
App integration name : WorkflowGen
Grant type : Cochez Authorization Code
Sign-in redirect URIs : <workflowgen url>/auth/callback
Sign-out redirect URIs : <workflowgen url>/auth/logout/return
Base URIs : <workflowgen url> sans aucun chemin, par example, https://localhost, si <workflowgen url> est https://localhost/wfgen
Controlled access : Cochez Allow everyone in your organization to access
Laissez les propriétés restantes réglées sur leurs valeurs par défaut.
Cliquez sur le bouton Save.
Dans l'onglet General dans la page de votre application Web WorkflowGen, cliquez sur le bouton Edit dans la section General Settings.
Entrez les informations suivantes :
Initiate login URI : <workflowgen url>/auth/callback
Cliquez sur Save.
/.well-known/oauth-authorization-server/.well-known/openid-configurationhttps://{YOUR_OKTA_DOMAIN}/oauth2/{AUTH_SERVER_ID}/.well-known/openid-configurationRépétez les deux étapes précédentes pour les modules hooks et scim.
Copiez les assemblys 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
Sign-in method : OIDC - OpenID Connect
Application type : Web Application
Entrez les informations suivantes :
App integration name : WorkflowGen
Grant type : Check Authorization Code
Sign-in redirect URIs : <workflowgen url>/auth/callback
Sign-out redirect URIs : <workflowgen url>/auth/logout/return
Base URIs : <workflowgen url> without any path (just the base URL); for example, https://localhost, if <workflowgen url> is https://localhost/wfgen
Controlled access : Check Allow everyone in your organization to access
Laissez les propriétés restantes définies sur leurs valeurs par défaut.
Cliquez sur le bouton Save.
Dans l'onglet General de la page de votre application Web WorkflowGen, cliquez sur le bouton Edit dans la section General Settings.
Entrez les informations suivantes :
Initiate login URI : <workflowgen url>/auth/callback
Cliquez sur Save.
AuthAudienceRéglez l'option ApplicationSecurityAuthDecodeAccessToken sur N.
Répétez les deux étapes ci-dessus pour les modules hooks et scim également.
Copiez les assemblys .NET et les bibliothèques de dépendances suivants de \wfgen\bin dans le dossier \bin de chaque formulaire Web personnalisé (\wfgen\wfapps\webforms<formulaire Web personnalisé>\bin) :
Advantys.My.dll
Advantys.Security.dll
Newtonsoft.Json.dll
jose-jwt.dll

appuser.username != null ? appuser.username : appuser.email != null ? appuser.email : appuser.nickame != null ? appuser.nickname : null<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appSettings>
<!-- Okta auth -->
<add key="ApplicationSecurityAuthProvider" value="okta"/>
<add key="ApplicationSecurityAuthClientId" value="<CLIENT ID>" />
<add key="ApplicationSecurityAuthClientSecret" value="<CLIENT SECRET>" />
<add key="ApplicationSecurityAuthMetadataUrl" value="<METADATA URL>" />
<add key="ApplicationSecurityAuthUsernameClaim" value="com.workflowgen.api.username" />
<add key="ApplicationSecurityAuthAppIdClaim" value="sub" />
<add key="ApplicationSecurityAuthClockTolerance" value="60" />
<add key="ApplicationSecurityAuthSessionRefreshEnableIFrame" value="Y"/>
</appSettings>
</configuration><?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appSettings>
<!-- Okta auth -->
<add key="ApplicationSecurityAuthProvider" value="okta"/>
<add key="ApplicationSecurityAuthClientId" value="<CLIENT ID>" />
<add key="ApplicationSecurityAuthClientSecret" value="<CLIENT SECRET>" />
<add key="ApplicationSecurityAuthMetadataUrl" value="<METADATA URL>" />
<add key="ApplicationSecurityAuthUsernameClaim" value="com.workflowgen.api.username" />
<add key="ApplicationSecurityAuthAppIdClaim" value="sub" />
<add key="ApplicationSecurityAuthClockTolerance" value="60" />
<add key="ApplicationSecurityAuthSessionRefreshEnableIFrame" value="Y"/>
<add key="ApplicationSecurityAuthAudience" value="my-apis"/>
<add key="ApplicationSecurityAuthAdditionalScopes" value="wfgen-graphql-full-access"/>
<add key="ApplicationSecurityAuthGraphQLScope" value="wfgen-graphql-full-access"/>
</appSettings>
</configuration><?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appSettings>
<!-- Auth -->
<add key="ApplicationSecurityAuthSessionTokenSigningSecret" value="<SECRET>" />
</appSettings>
</configuration><?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<modules>
<add name="ApplicationSecurityAuthenticationModule" type="Advantys.Security.Http.JWTAuthenticationModule" />
</modules>
</system.webServer>
</configuration><?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<modules>
<remove name="ApplicationSecurityAuthenticationModule"/>
</modules>
</system.webServer>
</configuration><?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appSettings>
<!-- Okta auth -->
<add key="ApplicationSecurityAuthProvider" value="okta"/>
<add key="ApplicationSecurityAuthClientId" value="<CLIENT ID>" />
<add key="ApplicationSecurityAuthClientSecret" value="<CLIENT SECRET>" />
<add key="ApplicationSecurityAuthMetadataUrl" value="https://<YOUR OKTA DOMAIN>/.well-known/openid-configuration" />
<add key="ApplicationSecurityAuthUsernameClaim" value="preferred_username" />
<add key="ApplicationSecurityAuthAppIdClaim" value="sub" />
<add key="ApplicationSecurityAuthClockTolerance" value="60" />
<add key="ApplicationSecurityAuthSessionRefreshEnableIFrame" value="Y"/>
<add key="ApplicationSecurityAuthAudience" value="<CLIENT ID>"/>
<add key="ApplicationSecurityAuthDecodeAccessToken" value="N"/>
</appSettings>
</configuration><?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appSettings>
<!-- Auth -->
<add key="ApplicationSecurityAuthSessionTokenSigningSecret" value="<SECRET>" />
</appSettings>
</configuration><?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<modules>
<add name="ApplicationSecurityAuthenticationModule" type="Advantys.Security.Http.JWTAuthenticationModule" />
</modules>
</system.webServer>
</configuration><?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<modules>
<remove name="ApplicationSecurityAuthenticationModule"/>
</modules>
</system.webServer>
</configuration>










Les tableaux suivants listent les paramètres de configuration Web et d’application de WorkflowGen avec leurs descriptions et leurs valeurs.
Ces paramètres se trouvent dans le fichier web.config dans le dossier DISQUE:\Inetpub\wwwroot\wfgen.
Ces paramètres se trouvent dans le fichier WfgWorkflowEngineService.exe.config dans le dossier DISQUE:\Program Files\Advantys\WorkflowGen\Services\bin\.
Ces paramètres se trouvent dans le fichier WfgDirectoriesSyncService.exe.config dans le dossierworkflowgen\src\wfg\Program Files\Advantys\WorkflowGen\Services\bin\.
Restreindre l'encodage des données au jeu de caractères ANSI
Par défaut : Y
AdministrationTruncateValue
Par défaut : 30
AdministrationUniqueLanguage
Définit la langue du module d'administration
Par défaut : Non défini
AdministrationFormDataProviderName
Fournisseurs de données pour la liaison de données, séparés par virgules
Par défaut : System.Data.SqlClient,System.Data.OleDb,System.Data.Odbc,System.Data.OracleClient
AdministrationEnableDeletionRulesCheck
Activer la vérification des règles de suppression pour les utilisateurs, les groupes et les annuaires
Par défaut : N
AdministrationRestrictManagerToModifyGlobalParticipant
Désactiver les permissions des gestionnaires de processus pour modifier les informations d’un participant global (via les participants de processus ou lors de l’importation d’un processus), telles que les noms, les descriptions et les associations utilisateur / groupe / répertoire.
Par défaut : N
AdministrationFormDesignUndoLimit
Nombre maximum d’opérations d’annulation dans l’éditeur de formulaires
Par défaut : 30
AdministrationAssociatedActivitiesToSwimlane
Maintenir les actions dans les colonnes de leurs participants respectifs
Par défaut : Y
AdministrationDefaultConditionLanguage
Langue par défaut pour les conditions
JS: JavaScript (par défaut)
VBS: VBScript
AdministrationMaxHelpTextSize
Longueur maximale en caractères du texte d'aide associé à une demande ou une action
Par défaut : 10000
AdministrationProcessQuickListSize
Par défaut : 0
Chemin du dossier des formulaires Web
Par défaut : Non défini
ApplicationDefaultProcessDataFileStorageMethod
Méthode de stockage pour les fichiers de données de processus
FILE: Stocker les données de processus dans le système de fichiers (par défaut)
DATABASE: Stocker les données de processus dans la base de données
ApplicationDistributedDatabaseSourceMode
Par défaut : 0
ApplicationEnableArchiveSiteRedirectConfirmation
Par défaut : Y
ApplicationEnableDistributedDatabaseSource
Par défaut : N
ApplicationHostUrl
URL de l'application hôte
Par défaut : Non défini
ApplicationSessionTimeOut
Définit le délai d'expiration de la session de l'utilisateur de l'application en minutes et affiche un lien de déconnexion (ce paramètre s'applique uniquement à l'authentification applicative de WorkflowGen)
Par défaut : 0 (aucun délai d'expiration)
ApplicationSerialNumber
Numéro de série WorkflowGen
Par défaut : Non défini
ApplicationSkinName
Thème (« skin ») du module d'administration WorkflowGen
Par défaut : Default
ApplicationDefaultFullWidth
Mode d'affichage
Y: Pleine largeur
N: Centré (par défaut)
Port du serveur SMTP; si non défini, la connexion SMTP utilisera le port SMTP par défaut 25
Par défaut : Non défini
ApplicationSmtpUsername
Nom d'utilisateur utilisé pour la connexion SMTP
Par défaut : Non défini
ApplicationSmtpPassword
Mot de passe utilisé pour la connexion SMTP
Par défaut : Non défini
Mode de gestion du mot de passe de configuration
AES: AES (FIPS Compliant) (par défaut)
V5: Version 5 (hérité)
ApplicationSecurityPasswordSymmetricEncryptionKey
Clé de chiffrement symétrique du mot de passe
Par défaut : Non défini
ApplicationSecurityMaxLoginAttempts
Nombre maximum de tentatives de connexion infructueuses après lesquelles le compte de l’utilisateur sera verrouillé (régler sur 0 pour des tentatives illimitées)
Par défaut : 5
ApplicationSecurityMinimumPasswordLength
Longueur minimum des mots de passe
Par défaut : 8
ApplicationSecurityAuthGraphQLAppRole
Valeur de rôle d'application GraphQL personnalisée vérifiée lors de la validation des rôles dans un jeton d'accès renvoyé par un fournisseur OIDC dans un flux d'informations d'identification client
ApplicationSecurityAuthAcrValues
Valeurs ACR spécifiées par le fournisseur de services Gardian
Heure de la journée pour effectuer la synchronisation mensuelle automatique (au format 24 heures)
Par défaut : 00:00
DirectorySynchronizationTimeOut
Par défaut : 10800
DirectorySynchronizationTextGroupPrefix
Préfixe des noms de groupe
Par défaut : GROUP_
DirectorySynchronizationTextUserPrefix
Préfixe des noms d'utilisateur
Par défaut : USER_
DirectorySynchronizationWeekDay
Jour de la semaine pour exécuter la synchronisation hebdomadaire automatique
0: dimanche
1: lundi (par défaut)
2
DirectorySynchronizationWarningLogs
Activer l'affichage des avertissements dans les fichiers de log
Par défaut : N
DirectorySynchronizationMaxUserDeletionCount
Nombre maximum de suppressions de compte par exécution de synchronisation
Par défaut : 0
DirectorySynchronizationSyncGroupMembersUsedInParticipantOnly
Activer la synchronisation des membres d'un groupe uniquement si le groupe est associé à au moins un participant
Par défaut : N
Jours fériés spéciaux (d/m séparés par virgules)
Par défaut : Non défini
EngineTraceMode
Par défaut : N
EngineWeekDaysOff
Jours fériés de la semaine
Par défaut : 7,1
EngineWorkHourEnd
Heure de fin de la journée de travail en fonction du fuseau horaire du serveur actuel
Par défaut : 18:00
EngineWorkHourStart
Heure de début de la journée de travail en fonction du fuseau horaire du serveur actuel
Par défaut : 9:00
EngineXpdlSchemaUrl
Par défaut : http://www.workflowgen.com/xsd/xpdl/schema-v1-0.xsd
Nombre maximum d'utilisateurs auxquels envoyer des notifications par email par notification
Par défaut : 100
EngineNotificationDefaultLanguage
Langue à utiliser pour le contenu des notifications si l’utilisateur n’a aucune langue sélectionnée par défaut ou par préférence
Par défaut : en-US
EngineNotificationMaxFileAttSize
Taille maximum des pièces jointes aux demandes en mégaoctets
Par défaut : 10
EngineNotificationTextDetection
Afficher les URL et adresses courriels comme liens cliquables
Par défaut : Y
EngineNotificationLogLevel
Type d'informations stockées dans le fichier de log des notifications
Par défaut : 1
EngineNotificationNotifyDelegator
Envoyer des notifications par email au délégant en plus du délégué
Par défaut : Y (activé)
EnginePushNotificationSendExpoApiUrl
Par défaut : https://exp.host/--/api/v2/push/send
Temps en millisecondes
Par défaut : 120000 (2 minutes)
EngineServiceCleanupFrequency
Temps en millisecondes
Par défaut : 180000 (3 minutes)
EngineServiceMaxPausedSynchroActions
Nombre maximal d'actions barres de synchro en pause à traiter simultanément
Par défaut : 25
EngineServiceMaxScheduledSystemActions
Nombre maximal d'actions systèmes planifiées à traiter simultanément
Par défaut : 25
EngineServiceMaxTimeoutSystemActions
Nombre maximal d'actions systèmes expirées à traiter simultanément
Par défaut : 25
EngineServiceInactiveDelegationLifespan
Par défaut : 15
EngineServiceInactiveRequestLifespan
Nombre maximum de jours, heures ou minutes avant la suppression des demandes fantômes
Par défaut : 3
EngineServiceInactiveRequestLifespanUnit
Unité de temps de la valeur de suppression de la demande fantôme
d: jours (par défaut)
h: heures
m
EngineServiceTempApiFilesLifespan
Nombre de jours
Par défaut : 2
EngineServiceImpersonificationUsername
Par défaut : wfgen_admin
EngineServiceSystemActivitiesTimeOut
Temps d'exécution total autorisé pour une action système en secondes
Par défaut : 600 (10 minutes)
EngineServiceDataIndexingFrequency
Fréquence à laquelle le moteur déclenche le processus d’indexation des données, en millisecondes
Par défaut : 10000
Activer la création de fichiers log dans le répertoire \wfgen\App_Data\LogFiles\XmlToDatabase
Par défaut : N
XmlTransPreviousFilesCleanUp
Activer le nettoyage des fichiers pour l'application de workflow XMLTRANS
Par défaut : Y
XmlTransEnableTrace
Activer la journalisation pour l'application de workflow XMLTRANS
Par défaut : N
SendMessageProvider
Fournisseur SMS
Par défaut : TWILIO
SendMessageAccountSID
Identifiant de sécurité du compte Twilio
Par défaut : Non défini
SendMessageAuthToken
Jeton d'autorisation Twilio
Par défaut : Non défini
SendMessageFrom
Numéro de téléphone de l'expéditeur du message instantané à afficher
Par défaut : Non défini
SendMessageApiUrl
URL de l'API Twilio
Par défaut : https://api.twilio.com/2010-04-01/Accounts/
SendMessageEnableLogs
Activer les logs de messagerie instantanée
Par défaut : Y
SendHttpPostMaxResponseLength
Longueur de réponse maximale en octets
Par défaut : 4194304 (4 Mo)
SendHttpPostLogLevel
Activer et définir le niveau de journalisation de l'application de workflow SENDHTTPPOST
0: Aucune journalisation (par défaut)
2: Informations
3
MergeFormEnableFilesCleanUp
Activer le nettoyage des fichiers pour l'application de workflow MERGEFORM
Par défaut : Y
MergeFormLogLevel
Activer et définir le niveau de journalisation de l'application de workflow MERGEFORM
0: Aucune journalisation (par défaut)
2: Informations
3
RestApiClientLogLevel
Activer et définir le niveau de journalisation de l'application de workflow RESTAPICLIENT
0: Aucune journalisation (par défaut)
2: Informations
3
RestApiClientRequestTimeout
Délai d'expiration de requête en millisecondes
Par défaut : 30000 (30 secondes)
RestApiClientMaxResponseLength
Longueur maximale de réponse en caractères
Par défaut : 4194304 (4 Mo)
RestApiClientEnableFilesCleanUp
Activer le nettoyage des fichiers pour l'application de workflow RESTAPICLIENT
Par défaut : Y
ExecSqlLogLevel
Activer et définir le niveau de journalisation de l'application de workflow EXECSQL
0: Aucune journalisation (par défaut)
1: Erreurs
2
JsonToDataLogLevel
Activer et définir le niveau de journalisation de l'application de workflow JSONTODATA
0: Aucune journalisation (par défaut)
1: Erreurs
2: Informations
DocuSignSendLogLevel
Activer et définir le niveau de journalisation de l'application de workflow DOCUSIGNSEND
0: Aucune journalisation (par défaut)
1: Erreurs
2
DocuSignClientId
ID client DocuSign
Correspond à la valeur de Integration Key de votre application DocuSign
DocuSignUserGuid
GUID utilisateur DocuSign
Correspond à la valeur de API Username dans le panneau de configuration de DocuSign
DocuSignAuthServer
Serveur d'authentification DocuSign
Valeurs de DocuSign :
account.docusign.com (production)
account-d.docusign.com (demo)
DocuSignHostServer
Serveur hôte DocuSign
Valeurs de DocuSign :
https://docusign.net (production)
https://demo.docusign.net (demo)
DocuSignCheckLogLevel
Activer et définir le niveau de journalisation de l'application de workflow DOCUSIGNCHECK
0: Aucune journalisation (par défaut)
1: Erreurs
2
AdobeSignSendLogLevel
Activer et définir le niveau de journalisation de l'application de workflow ADOBESIGNSEND
0: Aucune journalisation (par défaut)
1: Erreurs
2
AdobeSignClientId
ID client Adobe Sign
AdobeSignClientSecret
Clé secrète client Adobe Sign
AdobeSignRefreshToken
Jeton de rafraîchissement Adobe Sign
AdobeSignRefreshUrl
URL de rafraîchissement Adobe Sign
Par défaut : /oauth/v2/refresh
AdobeSignHostServer
Serveur hôte Adobe Sign (p.ex. : https://api.naX.adobesign.com , où X est l'identifiant du serveur)
AdobeSignCheckLogLevel
Activer et définir le niveau de journalisation de l'application de workflow ADOBESIGNCHECK
0: Aucune journalisation (par défaut)
1: Erreurs
2
DocaposteUsername
Nom d'utilisateur Docaposte
DocapostePassword
Mot de passe Docaposte
DocaposteHostServer
Serveur hôte Docaposte
DocaposteOfferCode
Code de l'offre Docaposte
DocaposteOrganizationalUnitCode
Code de l'organisation Docaposte
DocaposteSendLogLevel
Activer et définir le niveau de journalisation de l'application de workflow DOCAPOSTESEND
0: Aucune journalisation (par défaut)
1: Erreurs
2
DocaposteCheckLogLevel
Activer et définir le niveau de journalisation de l'application de workflow DOCAPOSTECHECK
0: Aucune journalisation (par défaut)
1: Erreurs
2
YousignApiKey
Clé d'API Yousign
YousignHostServer
Serveur hôte Yousign
YousignSendLogLevel
Activer et définir le niveau de journalisation de l'application de workflow YOUSIGNSEND
0: Aucune journalisation (par défaut)
1: Erreurs
2: Informations
YousignCheckLogLevel
Activer et définir le niveau de journalisation de l'application de workflow YOUSIGNCHECK
0: Aucune journalisation (par défaut)
1: Erreurs
2: Informations
DropboxSignApiKey
Clé d'API Dropbox Sign
DropboxSignHostServer
Serveur hôte Dropbox Sign
DropboxSignClientId
ID client Dropbox Sign
OpenAIApiKey
Clé API OpenAI
OpenAITranscriptionLogLevel
Activer et définir le niveau de journalisation de l'application de workflow OPENAITRANSCRIPTION
0: Aucune journalisation (par défaut)
1: Erreurs
2: Informations
OpenAIChatApiUrl
URL d'API de l'application de workflow OPENAICHAT
OpenAIChatLogLevel
Activer et définir le niveau de journalisation de l'application de workflow OPENAICHAT
0: Aucune journalisation (par défaut)
1: Erreurs
2: Informations
XmlToJsonLogLevel
Activer et définir le niveau de journalisation de l'application de workflow XMLTOJSON
0: Aucune journalisation (par défaut)
1: Erreurs
2: Informations
URL de bannière personnalisée
Par défaut : /wfgen/App_Themes/Default/portal/banner/banner.htm
PortalDefaultProcessDataColumnSize
Largeur par défaut en pixels des colonnes affichant les données associées lorsque l'interface utilisateur de l'utilisateur final est en vue mono-processus
Par défaut : 150
PortalDisplayName
Nom de l'application à afficher dans le portail utilisateur
Par défaut : WorkflowGen
PortalEnableDelegation
Activer la délégation de tâches par les utilisateurs finaux
Par défaut : Y
PortalFilterProcessGroupByCategory
Activer le regroupement des processus dans la liste déroulante utilisée pour passer en vue mono-processus
Par défaut : Y
PortalHideRequestFormActionsBySomeoneElse
Masquer les actions effectuées par d'autres utilisateurs dans les formulaires de demande
Par défaut : N
PortalHomePageDisplayMode
Désactiver les compteurs sur la page d'accueil du portail utilisateur
0: Afficher tous les compteurs de section en fonction de leurs résultats (par défaut)
1: Afficher un lien pour la section Mes demandes en cours uniquement
PortalHomePageListSize
Nombre maximum d’enregistrements dans les listes avant l’affichage de numéros de page
Par défaut : 200
PortalDisplayCodeNames
Afficher les noms de code au lieu des descriptions de processus et d'action
Par défaut : N
PortalListPageCount
Nombre de pages à afficher dans les listes du portail utilisateur
Par défaut : 10
PortalListPageSize
Nombre de lignes par page à afficher dans les listes du portail utilisateur
Par défaut : 10
PortalMaxListSize
Nombre maximum d'enregistrements à afficher dans les listes de résultats de recherche ou de statistiques
Par défaut : 1000
PortalMaxMaptoUsers
Nombre maximum d'utilisateurs dans une liste avant le filtrage par nom
Par défaut : 100
PortalNewRequestGroupByCategory
Afficher les demandes groupées par catégorie dans la liste Nouvelle demande.
Par défaut : Y
PortalPortletXslUrl
Chemin de la feuille XSL utilisée pour transformer le contenu RSS dans le module Portlet
Par défaut : Non défini
PortalProcessStartAction
Action quand une nouvelle demande est lancée
NO: Afficher le formulaire de suivi de la demande
PRE: Afficher le formulaire de suivi de la première action
PortalProcessStartConfirmation
Demander à l'utilisateur de confirmer le lancement d'une nouvelle demande
Par défaut : N
PortalUniqueLanguage
Langue du portail utilisateur
Par défaut : Non défini
PortalEnableComments
Activer les commentaires du portail utilisateur
Par défaut : N
PortalCommentsRefreshFrequency
Taux de rafraîchissement automatique en millisecondes de la liste des commentaires de la fiche de suivi
Par défaut : 300000
PortalCommentsPopUpWidth
Largeur de la fenêtre contextuelle de la liste de commentaires du menu du runtime de l'action en pixels
Par défaut : 380
PortalCommentsPopUpHeight
Hauteur de la fenêtre contextuelle de la liste de commentaires du menu du runtime de l'action en pixels
Par défaut : 600
PortalCommentsSortBy
Champ de tri de la liste de commentaires par défaut
Par défaut : DATE_POST
PortalCommentsSortOrder
Ordre de tri de la liste de commentaires par défaut
Par défaut : ASC
PortalCommentsExpandView
Développer la liste des commentaires la première fois qu'un formulaire de suivi est affiché
Par défaut : N
PortalCommentsListSize
Nombre maximum de commentaires à afficher dans la page d'accueil du portail utilisateur
Par défaut : 25
PortalQuickViewEnabled
Activer la fonctionnalité Quick View dans le portail utilisateur
Par défaut : Y
PortalQuickViewDataName
Valeur de données de processus à afficher dans le volet Quick View
Par défaut : FORM_ARCHIVE
PortalQuickViewDisplayOnMouseEvent
Événement de souris qui déclenche l'ouverture du volet Quick View
MOUSEENTER: Survol
CLICK: Clic (par défaut)
PortalTextDetection
Afficher les URL et adresses courriels comme liens cliquables
Par défaut : Y
PortalEnableSearchResultAutoRedirect
Rediriger le résultat de la recherche vers le formulaire de suivi lorsqu'un seul élément est trouvé
Par défaut : N
PortalReportAdvancedViewDefault
Afficher les résultats de recherche sous forme de rapport personnalisé par défaut
Par défaut : Y
PortalReportEnableCustomColumns
Activer l'édition des colonnes personnalisées pour les gestionnaires de processus et les superviseurs uniquement
Par défaut : Y
PortalReportAllowUserToCreateCustomColumns
Activer l'édition de colonnes personnalisée pour les utilisateurs standard
Par défaut : Y
PortalReportEnableCustomCharts
Activer l'édition des graphiques personnalisée pour les gestionnaires de processus et les superviseurs uniquement
Par défaut : Y
PortalReportAllowUserToCreateCustomCharts
Activer l'édition des graphiques personnalisée pour les utilisateurs standard
Par défaut : Y
PortalReportEnableQuickMassApproval
Activer la fonctionnalité d'Approbation rapide dans les rapports
Par défaut : N
PortalCommonProcessDataNameList
Activer les listes de données de processus communes du portail utilisateur
Par défaut : Non défini
PortalEnableCallingCard
Activer les fiches d'identité des utilisateurs
Par défaut : Y
PortalDashboardAutoRefreshInterval
Taux d'auto-rafraîchissement du tableau de bord du portail utilisateur
Par défaut : 0
PortalRedirectAllowedHttpUrls
Par défaut : Non défini
PortalReportAdvancedViewPaging
Activer la pagination dans les résultats de recherche de la Vue avancée
Par défaut : N (désactivé)
PortalDisplayAssignedTeamAction
Afficher les actions d'équipe affectées
Par défaut : N (désactivé)
PortalDisplayRequestListWithActionsFollowUp
Afficher les actions de suivi dans les listes de demandes
Par défaut : N (désactivé)
Afficher les URLs et adresses courriels comme liens cliquables
Par défaut : Y
Activer les réponses d'approbation en mode rapide
Par défaut : Y
RemoteApprovalCaseSensitiveAnswer
Appliquer la sensibilité à la casse aux réponses par email
Par défaut : N
RemoteApprovalMailServerType
Type de serveur email entrant
POP: POP (par défaut)
IMAP: IMAP
EXCHANGE2007
RemoteApprovalMailServerPort
Numéro de port pour la connexion IMAP ou POP
Par défaut : 995
RemoteApprovalMailServerSecurity
Sécurité du serveur de messagerie
none: Aucune
SSL: SSL (par défaut)
RemoteApprovalIncomingServerAddress
Adresse du serveur de réception des emails
RemoteApprovalIncomingServerUsername
Nom d’utilisateur pour accéder au serveur POP, IMAP ou Exchange
RemoteApprovalIncomingServerPassword
Mot de passe pour accéder au serveur POP, IMAP ou Exchange
RemoteApprovalIncomingServerDomain
Nom de domaine du compte de serveur Exchange entrant
RemoteApprovalAuthClientId
ID d'application (client) pour Exchange Online
RemoteApprovalAuthClientSecret
Clé secrète client pour Exchange Online
RemoteApprovalAuthScope
Portée de l'application pour Exchange Online
RemoteApprovalAuthAccessTokenUrl
URI du jeton d'accès pour Exchange Online
Activer la mise en cache des données
Par défaut : Y
GraphqlDebugEnabled
Activer le mode débogage
Par défaut : N
GraphqlQueryTimeout
Délai d'exécution de la requête en millisecondes
Par défaut : 90000
GraphqlOperationTimeout
Délai d'exécution de l'opération en millisecondes
Par défaut : 30000
GraphqlMaxAllowedContentLength
Longueur maximale du contenu de la requête GraphQL en octets
Par défaut : 30000000
GraphqlMaxOperationCount
Nombre maximum d'opérations par requête
Par défaut : 10000
GraphqlMaxInputFileSize
Taille de fichier maximum à envoyer dans les URLs de paramètre de type FILE en kilo-octets
Par défaut : 10240
GraphqlMaxInputFileContentSize
Taille de contenu maximale des paramètres de type FILE encodés base64 en kilooctets
Par défaut : 0
GraphqlInputFileDownloadTimeout
Délai d'expiration en millisecondes
Par défaut : 100000
GraphqlInputFileAllowedFolders
Dossiers locaux ou distants dans lesquels sont stockés les fichiers utilisés par les paramètres de type FILE
Par défaut : Non défini
GraphqlInputFileAllowedHttpUrls
URLs HTTP/HTTPS autorisées pour les téléchargements de fichiers
Par défaut : Non défini
GraphqlApiKeyEnabled
Activer la fonctionnalité de clé API GraphQL
Par défaut : N (non activée)
GraphqlApiKey
Clé API GraphQL; la valeur envoyée dans l'en-tête x-wfgen-graphql-api-key doit correspondre à cette clé
Par défaut : Non définie
Dossiers locaux ou distants dans lesquels sont stockés les fichiers utilisés par les paramètres de type FILE
Par défaut : Non défini
HooksInputFileAllowedHttpUrls
URLs HTTP/HTTPS autorisées pour les téléchargements de fichiers
Par défaut : Non défini
HooksAllowImpersonateUser
Autoriser l'emprunt d'identité utilisateur pour les webhooks.
Par défaut : N (désactivé)
HooksApiKeyEnabled
Activer la fonctionnalité de clé API
Par défaut : N (désactivé)
HooksApiKey
Clé API des webhooks; la valeur envoyée dans l'en-tête x-wfgen-hooks-api-key doit correspondre à cette clé
Par défaut : Non défini
Par défaut : Non défini
ApplicationSecurityAuthUsernameClaim
Nom de la revendication contenue dans le jeton d'accès qui identifie l'utilisateur dans WorkflowGen. Ceci est utilisé par WorkflowGen pour générer un jeton de session ainsi que par l'API GraphQL lors de la réception d'un jeton d'accès.
Par défaut : Non défini
ApplicationSecurityAuthGraphQLUsernameClaim
Valeur utilisée par l'API GraphQL lors de la réception d'un jeton d'accès.
ApplicationSecurityAuthAudience
Destinataire prévu du jeton d'accès (par exemple, l'API cible).
Par défaut :https://<workflowgen url>/graphql
ApplicationSecurityAuthAdditionalScopes
Portées supplémentaires à ajouter à la demande d'authentification
✏️ Note : Les portées openid, profile et email sont toujours dans la demande.
ApplicationSecurityAuthGraphQLScope
Valeur de la portée GraphQL personnalisée à vérifier lors de la validation des portées autorisées dans le jeton d'accès renvoyé par le fournisseur OIDC
ApplicationSecurityAuthAppIdClaim
Nom de la revendication contenue dans le jeton d'accès obtenu auprès du fournisseur d'identité qui identifie de manière unique un client non interactif
Par défaut : Non défini
ApplicationSecurityAuthClockTolerance
Valeur utilisée lors de la vérification d'un jeton dans WorkflowGen pour gérer des différences mineures entre les horloges des serveurs
ApplicationSecurityAuthSessionRefreshEnableIFrame
Activer la fonctionnalité d'auto-rafraîchissement de session à l'aide d'un <iframe> invisible
Par défaut : Y
ApplicationSecurityAuthSessionTokenCookie
Nom du cookie de session généré par le module d'authentification
Par défaut :wfgen_token
ApplicationSecurityAuthSessionTimeOut
Durée de la session en secondes
Par défaut : Non défini
ApplicationSecurityAuthMobileSessionTimeOut
Durée de la session en secondes lorsqu'elle est demandée par des appareils mobiles sur le point de terminaison de jeton
Par défaut : 7200
ApplicationSecurityAuthResponseMode
Détermine le mode de réponse pour le processus d'authentification. En d'autres termes, il détermine comment le fournisseur enverra sa réponse s'il la supporte.
Valeur possibles : form_post (par défaut) ou query
ApplicationSecurityAuthDecodeAccessToken
Indique si le jeton d'accès doit ou non être décodé par le module d'authentification. Il est décodé pour obtenir la date d'expiration. La date d'expiration du jeton de session est basée sur celui-ci. S'il ne doit pas être décodé, l'expiration du jeton d'identification est prise pour la session.
Valeurs possibles : Y (par défaut) ou N
ApplicationSecurityAuthAppIdClaim
Nom de revendication de l’identifiant d’application
Par défaut : appid
ApplicationSecurityAuthAccessTokenUsernameClaim
Revendication du nom d’utilisateur dans le jeton d’accès
Par défaut : upn
ApplicationSecurityAuthAudience
Validation de l’audience du jeton Par défaut : Vide
ApplicationSecurityAuthDecodeAccessToken
Décoder le jeton d’accès
Par défaut : N
ApplicationSecurityAuthExposeAccessTokenInCookies
Exposer le jeton dans les témoins (cookies)
Par défaut : N
ApplicationSecurityAuthClockTolerance
Tolérance d’horloge JWT (secondes)
Par défaut : 60
ApplicationSecurityAuthSessionTokenSigningSecret
(requis)
Secret de signature du jeton de session JWT Par défaut : Non défini
ApplicationSecurityAuthSessionTokenAudience
Audience du jeton de session JWT Par défaut : URL de l’application
ApplicationSecurityAuthSessionTimeOut
Expiration de session (secondes) Par défaut : Non défini
ApplicationSecurityAuthMobileSessionTimeOut
Expiration de session mobile (secondes)
Par défaut : 7200
ApplicationSecurityAuthResponseMode
Mode de réponse OIDC
Par défaut : form_post
ApplicationSecurityAuthSessionRefreshEnableIFrame
Activer le rafraîchissement dans l’iframe
Par défaut : Y
ApplicationSecurityAuthCheckSessionUrl
URL de l’iframe de vérification de session Par défaut : Vide
ApplicationSecurityAuthLogoutUrl
URL de déconnexion personnalisée Par défaut : Vide
ApplicationSecurityAuthAcrValues
Classe de contexte d’authentification Par défaut : Vide
Fournisseur utilisé pour générer les embeddings Valeurs possibles :
openai (par défaut)
azure-openai
lm-studio
GenerateEmbeddingsApiEndpoint
URL de l’API vers laquelle les requêtes d’embeddings sont envoyées
Par défaut : https://api.openai.com/v1/embeddings
GenerateEmbeddingsApiKey
Clé API utilisée pour l’authentification auprès du fournisseur d’embeddings Par défaut : Non défini
GenerateEmbeddingsApiModel
Nom du modèle d’embedding à utiliser
Par défaut : text-embedding-3-small
GenerateEmbeddingsApiDimensions
Nombre de dimensions attendues dans le vecteur d’embedding retourné
Par défaut : 384
GenerateEmbeddingsApiCallDelay
Délai (en millisecondes) entre les appels à l’API pour éviter les limitations de débit
Par défaut : 100
GenerateEmbeddingsApiMaxRetries
Nombre maximal de tentatives en cas d’échec d’un appel à l’API
Par défaut : 10
GenerateEmbeddingsApiAuthMethod
Définit la méthode utilisée par l’API pour authentifier les requêtes de génération d’embeddings textuels (via clé API ou jeton bearer) Valeurs possibles :
bearer (par défaut)
api-key
GenerateEmbeddingsApiAuthHeader
Spécifie l’en-tête HTTP utilisé pour transmettre les informations d’authentification lors des requêtes de génération d’embeddings Valeurs possibles :
Authorization (par défaut)
api-key
GenerateEmbeddingsApiRetriesDelay
Délai (en millisecondes) entre les tentatives de nouvelle requête en cas d’échec lors de la génération d’embeddings
Par défaut : 5000
Paramètre
Description et valeurs
AdministrationDefaultProcessView
Vue du processus du concepteur de workflow
GRAPH: Vue graphique (par défaut)
LIST: Vue liste
AdministrationDisplayName
Texte à afficher dans le coin supérieur gauche du bandeau du module d'administration
Par défaut : WorkflowGen Administration
AdministrationListPageCount
Nombre de pages à afficher dans les listes du module d'administration
Par défaut : 10
AdministrationListPageSize
Nombre d'enregistrements à afficher dans les listes du module d'administration
Par défaut : 100
AdministrationMaxMapToUsers
Nombre maximum d'utilisateurs affichés dans les fenêtres de sélection
Par défaut : 100
Paramètre
Description et valeurs
ApplicationUrl
URL de base de l'application Web
Par défaut : http://localhost/wfgen
ApplicationShowAssociatedDataWithEmptyValue
Afficher ou cacher les données avec des valeurs vides dans le formulaire de suivi
Par défaut : Y
ApplicationArchiveSiteUrl
Par défaut : Non défini
ApplicationConfigAllowedUsersLogin
Noms d'utilisateurs (séparés par virgule) des utilisateurs qui ont les permissions pour effectuer des opérations systèmes au administratives sensibles via l'API
Par défaut : wfgen_admin
ApplicationDataPath
Chemin du dossier sur le serveur Web dans lequel WorkflowGen stocke les fichiers (tels que des pièces jointes à des demandes).
Par défaut : Non défini
Paramètre
Description et valeurs
ApplicationSmtpServer
Adresse du serveur SMTP
Par défaut : Non défini
ApplicationSmtpPickupDirectory
Chemin du répertoire de collecte
Par défaut : C:\inetpub\mailroot\Pickup
ApplicationSmtpServerTimeout
Durée en millisecondes autorisée avant l'expiration du délai de connexion au serveur
Par défaut : 3000
ApplicationSmtpDeliveryMethod
Méthode d'envoi
SmtpServer: Serveur (par défaut)
PickupDirectory: Répertoire de collecte
ApplicationSmtpEnableSsl
Activer SSL/TLS
Par défaut : N
Paramètre
Description et valeurs
ApplicationSecurityAuthenticationRealm
Par défaut : Non défini
ApplicationSecurityEnableLogs
Par défaut : N
ApplicationSecurityRemoveDomainPrefix
Retirer les noms de domaine des noms d'utilisateur
Par défaut : _all
ApplicationSecurityEnableWebAppsSecureMode
Activer le cryptage des données dans la communication entre WorkflowGen et le formulaire Web
Par défaut : Y
ApplicationSecurityPasswordManagementMode
Mode de gestion pour les répertoires, les applications, le serveur SMTP et le serveur d'entrée des emails de l'approbation à distance
OWH_FIPS: One-way Hashing (SHA256 FIPS Compliant) (par défaut)
OWH: One-way Hashing (SHA256)
V5: Version 5 (hérité)
Paramètre
Description et valeurs
DirectoryNameMaxLength
Longueur maximale du nom de répertoire en caractères
Par défaut : 30
DirectoryNewUserDefaultLanguage
Langue par défaut des nouveaux utilisateurs
Par défaut : en-US
DirectoryNewUserDefaultProfile
Profil par défaut des nouveaux utilisateurs
1: Administrateur
2: Utilisateur standard (par défaut)
DirectoryNewUserDefaultTimezone
Fuseau horaire par défaut des nouveaux utilisateurs
Par défaut : 9
Voir la section Time zone IDs and names dans le WorkflowGen Integration Guide (disponible en anglais uniquement) pour une liste de fuseaux horaires et leurs identifiants numériques correspondants.
DirectoryTruncateValue
Par défaut : 50
Paramètre
Description et valeurs
DirectorySynchronizationDeleteTempFiles
Activer la suppression automatique des fichiers log XML temporaires à la suite des synchronisations
Par défaut : Y
DirectorySynchronizationDetailedLogs
Activer la journalisation de chaque action effectuée sur les données du répertoire
Par défaut : Y
DirectorySynchronizationHistoryLogs
Nombre de jours avant de supprimer les fichiers log des actions effectuées
Par défaut : 31
DirectorySynchronizationMonthDay
Jour du mois pour exécuter la synchronisation automatique
Par défaut : 1
DirectorySynchronizationQueryPageSize
Nombre d'enregistrements à afficher dans les requêtes de synchronisation d'annuaire
Par défaut : 1000
Paramètre
Description et valeurs
EngineAllowManagerToDeleteRealProcessInstances
Autoriser les gestionnaires à supprimer des instances de processus réelles (actives)
Par défaut : Y
EngineCountryDaysOff
Pays à utiliser pour calculer les jours fériés légaux
en-AU: Australie (Anglais)
en-CA: Canada (Anglais)
fr-CA: Canada (Français)
fr-FR: France (Français)
de-DE: Allemagne (Allemand)
it-IT: Italie (Italien)
pt-PT: Portugal (Portugais)
es-ES: Espagne (Espagnol)
fr-CH: Suisse (Français)
de-CH: Suisse (Allemand)
en-GB: Royaume-Uni (Anglais)
en-US: États-Unis (Anglais) (par défaut)
EngineDataProtectionLockTimeout
Verrouiller les données de demande pour la période spécifiée (en minutes) afin d'éviter la concurrence pour l'accès aux mêmes données
Par défaut : 5
EngineEnableSelfServiceDataAssignException
Forcer WorkflowGen à lancer une erreur d'exception d'affectation lorsqu'une action en libre service est affectée à un utilisateur non valide
Par défaut : N
EngineMaxActivityInstancePerProcessInstance
Par défaut : 1000
Paramètre
Description et valeurs
EngineNotificationEnabled
Activer les notifications par email
Par défaut : Y
EngineNotificationAllowSelfNotify
Envoyer des notifications par email même si l’adresse de l’envoyeur et celle du destinataire sont identiques
Par défaut : Y
EngineNotificationDefaultSender
Adresse email par défaut de l’émetteur des notifications par email
Par défaut : Non défini
EngineNotificationDefaultSenderName
Nom par défaut de l’émetteur des notifications par email
Par défaut : Non défini
EngineNotificationDefaultReplyTo
Adresse email par défaut pour les réponses aux notifications par email
Par défaut : Non défini
Paramètre
Description et valeurs
EngineServiceCheckTimeLimitFrequency
Temps en millisecondes
Par défaut : 180000 (3 minutes)
EngineServiceNotificationFrequency
Temps en millisecondes
Par défaut : 60000 (1 minute)
EngineServiceCancellationFrequency
Temps en millisecondes
Par défaut : 120000 (2 minutes)
EngineServiceSynchroActionFrequency
Temps en millisecondes
Par défaut : 15000 (15 secondes)
EngineServiceScheduledSystemActionFrequency
Temps en millisecondes
Par défaut : 15000 (15 secondse)
Paramètre
Description et valeurs
EFormAspxPreviousFilesCleanUp
Activer le nettoyage des fichiers pour l'application de workflow EFORMASPX
Par défaut : Y
EFormAspxAcceptEmptyInputTextParam
Par défaut : Y
GetUsersFromDirMaxResultNb
Nombre maximum d'enregistrements pouvant être renvoyés par une requête
Par défaut : 100
GetUsersFromDirLogLevel
Activer et définir le niveau de journalisation de l'application de workflow GETUSERSFROMDIR
0: Aucune journalisation (par défaut)
2: Informations
3: Débogage
XmlToDatabaseTestMode
Activer le test des transactions avant d'être exécuté sur la base de données
Par défaut : N
Paramètre
Description et valeurs
PortalActivityOnClickAction
Spécifie s'il faut afficher le formulaire de suivi d'action ou lancer l'action en cliquant sur une action à faire.
ACTION_FORM: Afficher l'action
APP_LAUNCH: Lancer l'action (par défaut)
PortalActivityOnCloseAction
Spécifie ce qu'il faut afficher lorsqu'une action est terminée
REQUEST_FORM_FORCE: Afficher le formulaire de suivi de la demande
REQUEST_FORM: Afficher le formulaire de suivi de la demande ou l'action suivante (par défaut)
REQUEST_FORM_EXCEPT_TOASSIGN: Afficher le formulaire de suivi de la demande (sauf s'il s'agit d'une action à affecter)
REQUEST_FORM_EXCEPT_TODO: Afficher le formulaire de suivi de la demande (sauf si action à faire)
TODO_LIST_FORCE: Afficher la liste des actions à faire
TODO_LIST: Afficher la liste des actions à faire ou l'action suivante
TODO_LIST_EXCEPT_TOASSIGN: Afficher la liste des actions à faire (sauf si action à affecter)
TODO_LIST_EXCEPT_TODO: Afficher la liste des actions à faire (sauf si action à faire)
HOME_COLLAPSE_FORCE: Afficher la page d'accueil
HOME_COLLAPSE: Afficher la page d'accueil ou l'action suivante
HOME_COLLAPSE_EXCEPT_TOASSIGN: Afficher la page d'accueil (sauf si action à affecter)
HOME_COLLAPSE_EXCEPT_TODO: Afficher la page d'accueil (sauf si action à faire)
HOME_TODO_EXPAND_FORCE: Afficher la page d'accueil et développer les actions à effectuer
HOME_TODO_EXPAND: Afficher la page d'accueil et développer les actions à effectuer ou l'action suivante
HOME_TODO_EXPAND_EXCEPT_TOASSIGN: Afficher la page d'accueil et développer les actions à effectuer (sauf si action à affecter)
HOME_TODO_EXPAND_EXCEPT_TODO: Afficher la page d'accueil et développer les actions à effectuer (sauf si action à effectuer)
PortalActivityOnCompleteRedirectToView
Lorsqu'une action lancée depuis une vue est terminée, revenez à la vue.
Par défaut : N
PortalActivityCompleteInBackground
Spécifie si l'achèvement de l'action doit être traité en arrière-plan (« threading »)
Par défaut : N
PortalFrameSetHeight
Par défaut : 0,68,*,0
Paramètre
Description et valeurs
ReportsExportFormat
Format d'exportation des rapports statistiques
CSV: Valeurs séparées par des virgules
TEXT_UNICODE: Texte Unicode (séparateur de tabulation)
ReportsTopUsersNumber
Nombre d'utilisateurs affichés dans les rapports statistiques
Par défaut : 10
ReportsTopParticipantsNumber
Nombre d'acteurs de processus affichés dans les rapports statistiques
Par défaut : 10
ReportsTopRequestersNumber
Nombre de demandeurs affichés dans les rapports statistiques
Par défaut : 10
ReportsTopProcessesNumber
Nombre de processus affichés dans les rapports statistiques
Par défaut : 10
Paramètre
Description et valeurs
RemoteApprovalEnabled
Activer l'Approbation à distance
Par défaut : N
RemoteApprovalRefreshInterval
Intervalle de rafraîchissement des emails d'Approbation à distance en millisecondes
Par défaut : 180000 (3 minutes)
RemoteApprovalLogTraceLevel
Niveau de trace des fichiers de log
0: Désactivé
1: Messages généraux
2: Messages d'erreur
3: Messages généraux et messages d'erreur (par défaut)
4: Détails complets pour débogage (incluant l'Observateur d'événements)
RemoteApprovalLifeSpan
Durée de vie du fichier journal temporaire d'Approbation à distance en jours
Par défaut : 0
RemoteApprovalEnableSubjectLineValidation
Activer l'utilisation du code de référence d'action dans la ligne d'objet pour la validation
Par défaut : Y
Paramètre
Description et valeurs
GraphqlMaxPageSize
Taille maximum de la page pour la pagination basée sur le numéro de page
Par défaut : 100
GraphqlMaxBatchSize
Par défaut : 1000
GraphqlDefaultPageNumber
Numéro de page par défaut pour la pagination basée sur le numéro de page
Par défaut : 1
GraphqlDefaultPageSize
Taille de page par défaut pour la pagination basée sur le numéro de page
Par défaut : 30
GraphqlGraphiqlEnabled
Activer GraphiQL
Par défaut : N
Paramètre
Description et valeurs
HooksDebugEnabled
Activer le mode débogage
Par défaut : N
HooksOperationTimeout
Délai d'exécution de l'opération en millisecondes
Par défaut : 30000 (30 secondes)
HooksMaxInputFileSize
Taille de fichier maximum des URLs de paramètre de type FILE
Par défaut : 10240 (10 Mo)
HooksMaxInputFileContentSize
Taille de contenu maximum des paramètres de type FILE encodés base64
Par défaut : 0
HooksMaxInputFileDownloadTimeout
Délai d'expiration en millisecondes
Par défaut : 100000 (100 secondes)
Paramètre
Description et valeurs
ApplicationSecurityAuthProvider
Nom du fournisseur d'identité
adfs: AD FS
azure-v1: Azure AD
auth0: Auth0
okta: Okta
ms-identity-v2: Microsoft Identity Platform v2.0
gardian: Gardian
Par défaut : Non défini
ApplicationSecurityAuthSessionTokenSigningSecret
Clé de signature du jeton de session
Par défaut : Non défini
ApplicationSecurityAuthClientId
Chaque fournisseur d'identité génère un code qui identifie de manière unique votre application. Dans ce cas, il s'agit du code qui identifie de manière unique l'application Web WorkflowGen.
Par défaut : Non défini
ApplicationSecurityAuthClientSecret
Comme l'ID client, celui-ci est également généré par le fournisseur d'identité, mais il ressemble plus à ce qu'est un mot de passe pour un utilisateur. Il est important de garder ce secret car les logiciels malveillants qui y ont accès peuvent agir au nom de l'application
Par défaut : Non défini
ApplicationSecurityAuthMetadataUrl
Point de terminaison fourni par le fournisseur d'identité qui supporte la norme OpenID Connect Discovery. Il permet à WorkflowGen d'obtenir des informations publiques sur votre domaine Azure Active Directory ou Auth0. Sans cela, vous devrez entrer manuellement beaucoup plus de configuration dans le fichier web.config.
Par défaut : Non défini
Paramètre
Description et valeurs
ApplicationSecurityAuthLogoutUrl
URL de déconnexion Auth0
Par défaut : Non défini
ApplicationSecurityAuthProviders
(requis)
Identifiant du fournisseur d'identité Par défaut : Non défini
ApplicationSecurityAuthClientId
(requis)
ID client OAuth Par défaut : Non défini
ApplicationSecurityAuthClientSecret
(requis)
Secret client OAuth Par défaut : Non défini
ApplicationSecurityAuthMetadataUrl
(requis)
Point de terminaison de métadonnées OIDC Par défaut : Non défini
ApplicationSecurityAuthSessionTokenSigningSecret
(requis)
Secret de signature JWT Par défaut : Non défini
ApplicationSecurityAuthUsernameClaim
Nom de revendication du nom d’utilisateur
Par défaut : preferred_username
Paramètre
Description et valeurs
GenerateChunksBatchSize
Nombre de fragments de texte traités par lot lors de la génération
Par défaut : 200
GenerateChunksSize
Taille maximale (en caractères) de chaque fragment de texte généré
Par défaut : 1000
GenerateChunksOverlap
Nombre de caractères qui se chevauchent entre deux fragments consécutifs pour préserver le contexte
Par défaut : 200
GenerateChunksMaxCount
Nombre maximum de fragments générés à partir d’un seul document
Par défaut : 100
GenerateChunksLanguageCode
Code de langue pour la recherche en texte intégral
Par défaut : 0
⚠️ Important : Ce paramètre est défini par défaut sur 0 (Neutre). Il est recommandé de le configurer avec le code de langue correspondant à la langue principale des textes et fichiers de votre requête pour de meilleurs résultats de recherche. Par exemple, utilisez 1036 pour le français ou 1033 pour l’anglais.
Paramètre
Description et valeurs
PostgreSqlTextSearchLanguage
Définit la configuration de recherche en texte intégral de PostgreSQL (règles de racinisation et de mots vides) à utiliser pour l’indexation et les requêtes
Par défaut : simple
Paramètre
Description et valeurs
AssembliesWebServiceLocation
Par défaut : Non défini
ProcessesRuntimeWebServiceAllowedUsers
Noms d'utilisateur (séparés par des virgules) des utilisateurs autorisés à lancer un processus au nom d'un autre utilisateur
Par défaut : wfgen_admin
ValidationSettings:UnobtrusiveValidationMode
Comportement de validation non obtrusive
Par défaut : None (requis)
Paramètre
Description et valeurs
ServiceName
Nom du service du moteur de workflow
Par défaut : WorkflowGenEngineService
WebConfigPath
Chemin du fichier web.config sur le site Web de WorkflowGen
Par défaut : C:\inetpub\wwwroot\wfgen\web.config
DatabaseConnectionRetry
Nombre de tentatives de reconnexion de la base de données
Par défaut : 3
DatabaseConnectionRetryInterval
Intervalle de temps entre chaque reconnexion de base de données
Par défaut : 30000
Paramètre
Description et valeurs
ServiceName
Nom du service de synchronisation d'annuaires WorkflowGen
Par défaut : WorkflowGenDirSyncService
WebConfigPath
Chemin du fichier web.config sur le site Web de WorkflowGen
Par défaut : C:\inetpub\wwwroot\wfgen\web.config
DatabaseConnectionRetry
Nombre de tentatives de reconnexion de la base de données
Par défaut : 3
DatabaseConnectionRetryInterval
Intervalle de temps entre chaque reconnexion de base de données
Par défaut : 30000
AdministrationRestrictNamesToAnsi
ApplicationWebFormsPath
ApplicationSmtpPort
ApplicationSecurityPasswordSymmetricEncryptionMode
DirectorySynchronizationStartHour
EngineSpecialDaysOff
EngineNotificationMaxNotifiedUser
EngineServiceTimeoutSystemActionFrequency
XmlToDatabaseEnableTrace
PortalCustomHeaderUrl
ReportsTextDetection
RemoteApprovalQuickApprovalMode
GraphqlLoadersCacheEnabled
HooksInputFileAllowedFolders
ApplicationSecurityAuthCheckSessionUrl
GenerateEmbeddingsApiProvider















3: mercredi
4: jeudi
5: vendredi
6: samedi
3: Débogage
3: Débogage
3: Débogage
3: Débogage
3: Débogage
3: Débogage
3: Débogage
3: Débogage
3: Débogage
3: Débogage
3: Débogage
3: Débogage
3: Débogage
2: Afficher un lien pour la section Mes actions à faire uniquement4: Afficher un lien pour la section Les actions d'équipe à faire uniquement
8: Afficher un lien pour la section Actions à affecter à une personne uniquement
16: Afficher un lien pour la section Mes demandes clôturées depuis mon dernier accès uniquement
32: Afficher un lien pour la section Suivi des demandes en cours uniquement
64: Afficher un lien pour la section Suivi des actions en cours uniquement
127: Afficher un lien pour toutes les sections (désactive tous les compteurs)
EXCHANGE2010: Exchange 2010 et supérieur (les versions 2013, 2016 et 2019 sont supportées)
EXCHANGE_EWS_OAUTH2: Exchange Online : Authentification moderne



