![]() |
Si vous avez installé sur une instance de ThingWorx Core que vous configurez pour l'authentification unique (SSO), vous devez arrêter tous les services ThingWorx Core et , y compris RabbitMQ and Nginx, avant de configurer le fichier sso-settings.json. Après avoir configuré ce fichier, vous devez d'abord redémarrer RabbitMQ, puis tous les services ThingWorx Core et , y compris Nginx.
|
![]() |
Assurez-vous de modifier la valeur de chaque paramètre par rapport à vos besoins. Votre implémentation peut varier en fonction de plusieurs facteurs, par exemple l'endroit où ThingWorx est hébergé, les politiques de sécurité de votre organisation ainsi que le serveur d'autorisation central (CAS) de votre fédération. Reportez-vous aux informations des tables suivantes pour vous aider à définir la valeur de chaque paramètre.
|
Paramètre
|
Description
|
Valeur
|
||
---|---|---|---|---|
clientBaseUrl
|
Spécifie l'URL de l'instance du serveur ThingWorx.
Définissez le nom de domaine complet du serveur ThingWorx.
Si vous avez installé , spécifiez l'URL du service Nginx .
|
http://<nom-hôte>:<port-number>/Thingworx
OU
https://<nom-hôte Nginx ThingWorx Flow>:<numéro-port Nginx ThingWorx Flow>/Thingworx
|
||
idpMetadataFilePath
|
Spécifie le chemin d'accès absolu au fichier de métadonnées IdP.
|
/ThingworxPlatform/ssoSecurityConfig/sso-idp-metadata.xml
|
||
metadataEntityId
|
Spécifie l'ID d'entité de connexion du fournisseur de services.
Il s'agit de l'ID unique sélectionné lors de la configuration de la connexion du fournisseur de services dans PingFederate.
|
—
|
||
metadataEntityBaseUrl
|
Spécifie le nom de domaine complet du serveur ThingWorx. Cette valeur est identique à l'URL ThingWorx utilisée dans le navigateur.
Si vous avez installé , spécifiez l'URL du service Nginx .
|
http://<nom-hôte>:<port-number>/Thingworx
OU
https://<nom-hôte Nginx ThingWorx Flow>:<numéro-port Nginx ThingWorx Flow>/Thingworx
|
||
webSSOProfileConsumerResponseSkew
|
Spécifie la tolérance de différence de la réponse du service consommateur d'assertions SSO Web SAML 2.0.
Lorsque vous définissez cette valeur, prenez en considération vos propres exigences de sécurité ainsi que la latence dans votre réseau d'entreprise.
Utilisez ce paramètre pour définir le délai autorisé (en secondes) pour que le CAS renvoie à ThingWorx une réponse à la requête de connexion. Si le délai de réponse à la requête de connexion est supérieur à la valeur définie, la tentative de connexion échouera.
La tolérance de différence désigne la déviation dans la validité de réponse que le destinataire autorise en raison de différences présumées entre les horloges système. Il est recommandé de limiter les effets liés à cette différence en s'assurant que les horloges de chaque système sont correctement synchronisées.
|
300
|
||
webSSOProfileConsumerReleaseDOM
|
Détermine si l'infrastructure de sécurité conserve l'assertion SAML une fois l'authentification effectuée.
Si ce paramètre est défini sur faux, l'assertion SAML est conservée une fois l'authentification effectuée.
|
vrai
|
||
webSSOProfileResponseSkew
|
Spécifie la tolérance de différence de la réponse du profil SSO Web SAML 2.0.
Lorsque vous définissez cette valeur, prenez en considération vos propres exigences de sécurité ainsi que la latence dans votre réseau d'entreprise.
La tolérance de différence désigne la déviation dans la validité de réponse que le destinataire autorise en raison de différences présumées entre les horloges système. Il est recommandé de limiter les effets liés à cette différence en s'assurant que les horloges de chaque système sont correctement synchronisées.
|
300
|
||
retriggerOnScopesRemoval
|
Spécifie si la liste des étendues requises a changé et doit être actualisée.
vrai indique qu'une étendue a été ajoutée ou supprimée de la liste des étendues requises.
faux signifie qu'une étendue a été ajoutée à la liste des étendues requises.
|
vrai
|
||
samlAssertionUserNameAttributeName
|
Spécifie l'attribut SAML pour lequel est définie la valeur qui stocke les noms des utilisateurs ThingWorx lorsqu'ils se connectent. Assurez-vous que la valeur de cet attribut dans le fournisseur d'identité correspond aux valeurs que vous prévoyez d'utiliser en tant que noms d'utilisateur ThingWorx.
|
uid
|
||
samlAssertionMaxAuthenticationAge
|
Spécifie la durée maximale (en secondes) de l'assertion SAML 2.0 avant son expiration. Ce paramètre spécifie également la durée de session maximale d'une assertion d'authentification.
Définissez la valeur afin qu'elle corresponde à la valeur d'expiration de session spécifiée dans le fournisseur d'identité.
|
7 200 secondes
|
||
authnContextAsPassword
|
Facultatif. Dans quelques rares cas, l'IdP vous demande d'introduire l'assertion suivante dans la requête SAML.
<saml2p:RequestedAuthnContext Comparison="exact">
<saml2:AuthnContextClassRef xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">urn:oasis:names:tc:SAML:2.0:ac:classes:Password</saml2:AuthnContextClassRef> </saml2p:RequestedAuthnContext> Dans ce cas, vous devez définir cette propriété.
|
vrai
|
![]() |
Si vous souhaitez activer l'authentificateur de clé d'application lorsque l'authentification SSO est activée, vous devez ajouter la section de configuration ApplicationKeySettings aux paramètres sso-settings.json dans BasicSettings. Cela n'est nécessaire que si vous souhaitez utiliser des
clés d'application pour l'authentification au moyen de requêtes API REST. Que ce paramètre soit ou non activé, les clés d'application demeurent utilisables par les périphériques Edge via des WebSockets.
{
"BasicSettings": { ... }, "ApplicationKeySettings": { "enabled": true }, ... } |
Paramètre
|
Description
|
Valeur
|
||
---|---|---|---|---|
dbType
|
Spécifie le type de la base de données configurée et utilisée pour l'installation d'ThingWorx.
• Pour utiliser la même base de données que celle définie dans le fichier platform-settings.json, spécifiez la même information de type de base de données et les mêmes informations d'identification que celles figurant dans platform-settings.json.
• Pour utiliser une base de données dédiée pour le jeton d'autorisation, spécifiez la valeur "default". Avec cette configuration sur "default", une nouvelle base de données H2 dédiée sera créée.
|
par défaut
|
||
H2
|
||||
postgres
|
||||
mssql
|
||||
hana
|
||||
driverClassName
|
Spécifie le nom de classe de pilote utilisé dans le fichier platform-settings.json.
|
Lorsque dbType est défini sur default, définissez ce paramètre sur org.h2.Driver.
|
||
Lorsque dbType est défini sur h2, définissez ce paramètre sur org.h2.Driver.
|
||||
Lorsque dbType est défini sur postgres, définissez ce paramètre sur org.postgresql.Driver.
|
||||
Lorsque dbType est défini sur mssql, définissez ce paramètre sur com.microsoft.sqlserver.jdbc.SQLServerDriver.
|
||||
Lorsque dbType est défini sur hana, définissez ce paramètre sur com.sap.db.jdbc.Driver.
|
||||
url
|
Spécifie l'URL vers l'emplacement de la base de données pour votre installation d'ThingWorx.
|
Lorsque dbType est défini sur default, définissez ce paramètre sur jdbc:h2:\\<lecteur>:\\ThingworxPlatform\\ssoSecurityConfig\\sso-oauth2-client-db.
|
||
Lorsque dbType est défini sur h2, ce paramètre n'est pas nécessaire.
|
||||
Lorsque dbType est défini sur postgres, définissez ce paramètre sur jdbc:postgresql://<nom d'hôte>:<port>/thingworx.
|
||||
Lorsque dbType est défini sur mssql, définissez ce paramètre sur jdbc:sqlserver://<nom d'hôte>:<port>;databaseName=thingworx;applicationName=Thingworx.
|
||||
Lorsque dbType est défini sur hana, définissez ce paramètre sur jdbc:sap://<adresse_ip>:39041/?databaseName=thingworx¤tschema=TWADMIN.
|
||||
username
|
Spécifie le nom d'utilisateur de la base de données que votre système utilise pour stocker les jetons d'accès. Il doit correspondre au nom d'utilisateur spécifié dans le fichier platform-settings.json.
|
—
|
||
password
|
Spécifie le mot de passe de la base de données que votre système utilise pour stocker les jetons d'accès. Il doit correspondre au mot de passe spécifié dans le fichier platform-settings.json.
|
—
|
||
encryptTokenInDatabase
|
Définissez ce paramètre sur vrai pour chiffrer le jeton d'accès avant de le rendre persistant dans la base de données.
|
vrai
|
||
keyczarKeyFolderPath
|
Si encryptTokenInDatabase est défini sur vrai, ce chemin d'accès doit pointer vers un emplacement keyCzarKey valide. Modifiez le chemin d'accès de façon à utiliser le répertoire dans lequel votre dossier ThingworxPlatform\ssoSecurityConfig\symmetric se trouve.
|
Sous Windows : <lecteur>:\\ThingworxPlatform\\ssoSecurityConfig\\symmetric
où <lecteur> spécifie le lecteur d'installation d'ThingWorx.
Sous Linux : \\ThingworxPlatform\\ssoSecurityConfig\\symmetric
|
dbType
|
Emplacement de stockage des autorisations d'accès dans la base de données
|
---|---|
default
|
Base de données H2 de sous-ensemble créée comme spécifié par le chemin d'accès du paramètre url. Par défaut, la base de données est placée dans un répertoire relatif au répertoire Tomcat.
Si vous définissez dbType sur default, il est recommandé de spécifier le chemin complet de l'URL JDBC et non le chemin relatif.
Par exemple : jdbc:h2:./ThingworxPlatform/ssoSecurityConfig/sso-oauth2-client-db
|
H2
|
Fichiers WAR H2 ThingWorx dans les fichiers de base de données H2 ThingworxStorage/database
|
postgres
|
Dans la table oauth_client_token de la base de données PostgreSQL ThingWorx
|
mssql
|
Dans la table oauth_client_token de la base de données MS SQL ThingWorx
|
hana
|
Dans la table oauth_client_token de la base de données SAP HANA ThingWorx
|
Paramètre
|
Description
|
Valeur
|
||
---|---|---|---|---|
keyStoreFilePath
|
Spécifie le chemin d'accès absolu au KeyStore. En fonction de votre environnement, modifiez le chemin d'accès de façon à utiliser le répertoire d'enregistrement de votre fichier KeyStore.
|
Sous Windows : <lecteur>:\\ThingworxPlatform\\ssoSecurityConfig\\sso-keystore.jks
où <lecteur> spécifie le lecteur d'installation d'ThingWorx.
Sous Linux : \\ThingworxPlatform\\ssoSecurityConfig\\sso-keystore.jks
|
||
keyStoreStorePass
|
Spécifie le mot de passe du KeyStore.
|
—
|
||
keyStoreKey
|
Spécifie la clé par défaut.
|
—
|
||
keyStoreKeyPass
|
Spécifie le mot de passe utilisé pour accéder aux clés privées.
|
—
|
![]() |
Les paramètres AuthorizationServersSettings peuvent contenir les informations de plusieurs serveurs d'autorisation. Chaque serveur est identifié par un identificateur unique dans le fichier sso-settings.json.
|
Paramètre
|
Description
|
Valeur
|
||
---|---|---|---|---|
<IDServeurAutorisation1>.clientId
|
Spécifie l'identificateur client à utiliser lors de l'obtention de jetons d'accès auprès du serveur d'autorisation.
|
—
|
||
<IDServeurAutorisation1>.clientSecret
|
Spécifie les informations d'identification client utilisées pour l'authentification auprès du serveur d'autorisation.
Définissez l'URL complète du serveur DNS sur le réseau.
|
—
|
||
<IDServeurAutorisation1>.authorizeUri
|
Spécifie l'URI vers lequel l'utilisateur doit être redirigé pour autoriser un jeton d'accès.
|
https://<nom-hôte-PingFederate>:<Numéro-Port-PingFederate>/as/authorization.oauth2
|
||
<IDServeurAutorisation1>.tokenUri
|
Spécifie l'URI à utiliser pour obtenir un jeton d'accès OAuth2.
Définissez l'URL complète du serveur DNS sur le réseau.
|
https://<nom-hôte-PingFederate>:<Numéro-Port-PingFederate>/as/token.oauth2
|
||
<IDServeurAutorisation1>.clientAuthScheme
|
Spécifie le schéma à utiliser pour authentifier le client. Les valeurs autorisées sont les suivantes :
• form
• header
• query
• Aucune
|
form
|