Authentification SAML v2.0

Aperçu

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.

Configuration

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.

Microsoft Entra ID

Fournisseur : saml-azure

Paramétrages requis

<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" />

Paramétrages facultatifs

Déconnexion complète via le portail

<add key="ApplicationSecurityAuthSAMLLogoutPortalUrl" value="https://myapps.microsoft.com/logout" />

Déconnexion initiée par le fournisseur de services (SP)

<add key="ApplicationSecurityAuthSAMLLogoutUrl" value="https://login.microsoftonline.com/{tenant-id}/saml2" />

Si ApplicationSecurityAuthSAMLLogoutUrl ne se comporte pas comme prévu avec la configuration de votre locataire ou de votre navigateur, supprimez ce paramètre (laissez-le non défini) et utilisez plutôt la déconnexion de WorkflowGen uniquement ou la déconnexion du portail via : https://myapps.microsoft.com/logout.

PingFederate

Fournisseur : saml-pingfederate

Paramétrages requis

<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" />

Paramétrages facultatifs

Déconnexion complète via le portail

<add key="ApplicationSecurityAuthSAMLLogoutPortalUrl" value="https://auth.pingone.ca/{environment-id}/saml20/idp/slo" />

Déconnexion initiée par le fournisseur de services (SP)

<add key="ApplicationSecurityAuthSAMLLogoutUrl" value="https://auth.pingone.ca/{environment-id}/saml20/idp/slo" />

Auth0

Fournisseur : saml-auth0

Paramétrages requis

<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" />

Paramétrages facultatifs

Déconnexion complète via le portail

<add key="ApplicationSecurityAuthSAMLLogoutPortalUrl" value="https://{tenant-id}.auth0.com/logout" />

Déconnexion initiée par le fournisseur de services (SP)

<add key="ApplicationSecurityAuthSAMLLogoutUrl" value="https://{tenant-id}.auth0.com/samlp/{client-id}/logout" />

Okta

Fournisseur : okta-saml

Paramétrages requis

<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" />

Paramtérages facultatifs

Déconnexion complète via le portail

<add key="ApplicationSecurityAuthSAMLLogoutPortalUrl" value="https://{okta-domain-id}.okta.com/login/signout" />

Déconnexion initiée par le fournisseur de services (SP)

<add key="ApplicationSecurityAuthSAMLLogoutUrl" value="https://{okta-domain-id}.okta.com/app/{app-name}/{app-id}/slo/saml" />

Si ApplicationSecurityAuthSAMLLogoutUrl ne fonctionne pas comme prévu (par exemple, si Okta renvoie RequestDenied/AuthnFailed), laissez ce paramètre non défini et utilisez la déconnexion via le portail utilisateur à l’adresse /wfgen/auth/logout?logoutType=complete.

AD FS

Fournisseur : saml-adfs

Paramétrages requis

<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" />

Paramétrages facultatifs

Déconnexion complète via le portail

<add key="ApplicationSecurityAuthSAMLLogoutPortalUrl" value="https://{your-adfs-server}/adfs/ls/?wa=wsignout1.0" />

Déconnexion initiée par le fournisseur de services (SP)

<add key="ApplicationSecurityAuthSAMLLogoutUrl" value="https://{your-adfs-server}/adfs/ls/?wa=wsignout1.0" />

Fournisseurs génériques

Fournisseur : saml-generic

Paramétrages requis

<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" />

Paramétrages facultatifs

Déconnexion complète via le portail

<add key="ApplicationSecurityAuthSAMLLogoutPortalUrl" value="https://{your-idp-server}/logout" />

Déconnexion initiée par le fournisseur de services (SP)

<add key="ApplicationSecurityAuthSAMLLogoutUrl" value="https://{your-idp-server}/slo/saml" />

Paramétrages de configuration OIDC

Paramétrage
Description et valeurs

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

Revendi­cations 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

Revendi­cation 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

Mis à jour