Configurer une application SaaS non prise en charge

Vous pouvez intégrer des applications SaaS non prises en charge utilisant le protocole SAML en créant un fichier de configuration personnalisé dans UserLock SSO. Cela vous permet de définir manuellement comment UserLock interagit avec le fournisseur de service, que ce soit pour une configuration unique ou pour plusieurs instances d’une même application.

Publié le 9 septembre 2025

Introduction

UserLock SSO permet d’intégrer n’importe quelle application SaaS compatible avec le protocole SAML, même si elle n’est pas proposée nativement dans l’interface.

Cette intégration s’effectue via la création d’un fichier de configuration personnalisé, qui définit comment UserLock doit émettre les assertions SAML et gérer les paramètres propres à chaque application.

Chaque configuration personnalisée est enregistrée dans le fichier suivant :
%ProgramData%\ISDecisions\UserLock\SSO\CustomSamlManagers.json

Vous pouvez regrouper plusieurs configurations dans ce fichier, une par application.

Une fois la configuration personnalisée créée, vous devez également configurer le profil d’application correspondant dans UserLock SSO, comme pour les autres fournisseurs SaaS.

🚩️ Avant de commencer :

  • Assurez-vous de disposer de la documentation ou du guide de configuration SAML de l’application SaaS.

  • Vérifiez les attributs, points de terminaison (endpoints) et formats de NameID requis par l’application.

  • Préparez le certificat SAML utilisé par l’application SaaS, si celle-ci requiert des requêtes d’authentification signées.

  • Le SSO UserLock doit déjà être installé et configuré.

Note

Les configurations personnalisées utilisant le protocole OpenID Connect ne sont pas encore prises en charge.

Étape 1 – Créer le fichier de configuration

Le fichier de configuration doit être au format JSON et structuré comme un tableau d’objets de configuration — un pour chaque application SaaS.

json
[
  {
    "ProfileTypeId": "Contoso",
    "Assertion": {
      "NameIdFormat": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
      "NameIdType": "Email",
      "Attributes": {
        "MyAttribute": [
          "FirstName",
          "LastName"
        ]
      }
    },
    "Configuration": {
      "MultiConfigAllowed": true,
      "EditableInputs": {
        "EmailDomain": ""
      },
      "LogoFilePath": "C:\\Images\\logo.png",
      "IssuerFormat": "https://{0}.contoso.com",
      "AssertionConsumerServicesUri": "https://{0}.contoso.com/sso"
    }
  }
]

Étape 2 – Choisir le type de configuration

UserLock prend en charge deux approches de configuration selon vos besoins :

Type de configuration

Description

Cas d’utilisation typique

Configuration unique

Configuration fixe fonctionnant pour un seul environnement, avec toutes les valeurs définies directement dans le fichier JSON.

Lorsque votre application SaaS utilise un seul domaine ou une seule instance (par ex. un locataire d’entreprise).

Configuration flexible

Configuration dynamique permettant plusieurs profils pour une même application.

Lorsque votre application SaaS utilise plusieurs domaines ou locataires (par ex. un par service ou par client).

Étape 3 – Définir l’identifiant unique

Le ProfileTypeId sert d’identifiant unique pour la configuration de votre application SaaS dans UserLock.

json
"ProfileTypeId": "Contoso"

Chaque application SaaS doit disposer d’un ProfileTypeId distinct afin d’éviter tout conflit de configuration.

Étape 4 – Configurer l’assertion SAML

Cette étape explique comment UserLock génère l’assertion SAML transmise à l’application SaaS lors du processus d’authentification.

json
"Assertion": {
  "NameIdFormat": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
  "NameIdType": "Email",
  "Attributes": {
    "MyAttribute": [
      "FirstName",
      "LastName"
    ]
  }
}

Définir le NameIdFormat

Ce paramètre définit le format du NameID (sujet) utilisé dans la réponse SAML.
Il doit correspondre exactement au format attendu par l’application SaaS pour l’authentification.

Exemple :

json
"NameIdFormat": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"

Formats les plus courants :

  • "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" (utilisé le plus couramment)

  • "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"

  • "urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos"

  • "urn:oasis:names:tc:SAML:2.0:nameid-format:transient"

Définir le NameIdType

Ce paramètre détermine quel attribut utilisateur d’Active Directory UserLock utilisera comme NameID dans la réponse SAML.

json
"NameIdType": "Email"

Valeurs prises en charge :

  • Email — sélectionne la première adresse e-mail correspondant au domaine attendu parmi les attributs UPN, Email ou ProxyAddresses (requiert le champ modifiable EmailDomain).

  • ImmutableId

  • UserPrincipalName (UPN)

  • SamAccountName

Les autres valeurs ne sont pas prises en charge.

Définir les attributs

Les attributs correspondent à des informations utilisateur supplémentaires incluses dans la réponse SAML.
Ils proviennent des propriétés de l’utilisateur dans Active Directory.

Exemple :

json
"Attributes": {
  "MyAttribute": [
    "FirstName",
    "LastName"
  ]
}

Vous pouvez définir plusieurs attributs :

json
"Attributes": {
  "MyAttribute": [
    "FirstName",
    "LastName"
  ],
  "MySecondAttribute": [
    "DisplayName"
  ]
}

Valeurs prises en charge :

  • Email

  • ImmutableId

  • FirstName

  • LastName

  • DisplayName

  • UserPrincipalName

Note

Si vous avez besoin d’autres attributs qui ne sont pas listés ici, contactez l’équipe du support IS Decisions pour obtenir de l’aide.

Étape 5 – Définir la section de configuration

La section de configuration précise quels paramètres l’administrateur peut personnaliser dans la console UserLock SSO, ainsi que la manière dont l’application SaaS y sera affichée et gérée.

json
"Configuration": {
  "MultiConfigAllowed": true,
  "EditableInputs": {
    "EmailDomain": ""
  },
  "LogoFilePath": "C:\\Images\\logo.png",
  "IssuerFormat": "https://{0}.contoso.com",
  "AssertionConsumerServicesUri": "https://{0}.contoso.com/sso"
}

MultiConfigAllowed

Indique si plusieurs configurations peuvent coexister pour cette application.

json
"MultiConfigAllowed": true
  • true – permet la création de plusieurs profils (utilisé pour les scénarios de configuration flexible).

  • false – limite la configuration à un seul profil fixe.

Champs modifiables

Spécifie les champs qui seront affichés dans la console UserLock SSO pour cette application SaaS.

json
"EditableInputs": {
  "EmailDomain": "",
  "MandatoryCertificate": "",
  "OptionalCertificate": ""
}

Champs modifiables pris en charge :

  • EmailDomain — requis lorsque le type ou l’attribut Email est utilisé comme NameIdType.

  • MandatoryCertificate — pour les applications SaaS qui exigent que la requête SAML soit signée. Dans ce cas, l’utilisateur devra téléverser le certificat de signature approprié.

  • OptionalCertificate — pour les applications SaaS qui acceptent les requêtes signées sans les rendre obligatoires. Le téléversement du certificat reste optionnel.

Format de l’émetteur (Issuer Format)

Précise comment UserLock génère la valeur issuer incluse dans la requête d’authentification SAML.

Émetteur statique :

json
"IssuerFormat": "https://contoso.com"

Pour rendre votre configuration plus flexible, vous pouvez soit laisser ce champ vide, soit insérer un modèle de texte (placeholder entre accolades).
Dans les deux cas, la valeur réelle sera définie plus tard dans la console UserLock SSO lors de la création du profil d’application.

Émetteur flexible :

json
"IssuerFormat": "https://{0}.contoso.com"

URI du service consommateur d’assertions (Assertion Consumer Service URI)

Indique le point de terminaison vers lequel UserLock envoie la réponse SAML.

Point de terminaison statique :

json
"AssertionConsumerServicesUri": "https://contoso.com/sso"

Pour une configuration flexible, le même principe s’applique — vous pouvez laisser ce champ vide ou utiliser un modèle de texte (placeholder entre accolades).

Point de terminaison flexible :

json
"AssertionConsumerServicesUri": "https://{0}.contoso.com/sso"

Étape 6 – Créer et valider le profil SSO

Après avoir terminé votre configuration JSON :

  1. Ouvrez la console UserLock et accédez à ⚙️ Paramètres du serveur ▸ Single Sign-On.

  2. Dans la liste des applications, sélectionnez votre application SaaS personnalisée.

  3. Complétez les champs modifiables (par exemple : domaine e-mail, téléversement de certificats).

  4. Enregistrez la configuration, puis testez le processus d’authentification avec l’application SaaS.