![]() |
Si se ha instalado en una instancia de ThingWorx Core que se está configurando para SSO, se deben detener todos los servicios de ThingWorx Core y , incluidos RabbitMQ y Nginx, antes de configurar el fichero sso-settings.json. Después de configurar este fichero, primero se debe reiniciar RabbitMQ y, a continuación, todos los servicios de ThingWorx Core y , incluido Nginx.
|
![]() |
El usuario debe asegurarse de editar el valor de cada parámetro según sus requisitos. La implementación puede variar en función de varios factores, como la ubicación donde se aloja ThingWorx, las directivas de seguridad de la organización y el CAS de la federación. Utilice la información de las siguientes tablas como guía para definir los valores de los distintos parámetros.
|
Parámetro
|
Descripción
|
Value
|
||
---|---|---|---|---|
clientBaseUrl
|
Permite especificar la URL de la instancia de servidor de ThingWorx.
Defínalo en el nombre de dominio completo del servidor de ThingWorx.
Si se ha instalado , se debe especificar el URL de Nginx de .
|
http://<nombre de host>:<port-number>/Thingworx
O bien
https://<nombre de host de Nginx de ThingWorx Flow>:<número de puerto de Nginx de ThingWorx Flow>/Thingworx
|
||
idpMetadataFilePath
|
Permite especificar la ubicación de la ruta de fichero absoluta del fichero de metadatos de IdP.
|
/ThingworxPlatform/ssoSecurityConfig/sso-idp-metadata.xml
|
||
metadataEntityId
|
Permite especificar el ID de entidad de la conexión del proveedor de servicios.
Este es el ID exclusivo que el usuario ha elegido al configurar la conexión del proveedor de servicios en PingFederate.
|
—
|
||
metadataEntityBaseUrl
|
Permite especificar el nombre de dominio completo del servidor de ThingWorx. Este valor es el mismo que el de la URL del explorador de ThingWorx.
Si se ha instalado , se debe especificar el URL de Nginx de .
|
http://<nombre de host>:<port-number>/Thingworx
O bien
https://<nombre de host de Nginx de ThingWorx Flow>:<número de puerto de Nginx de ThingWorx Flow>/Thingworx
|
||
webSSOProfileConsumerResponseSkew
|
Permite especificar la tolerancia de desfase de respuesta del consumidor de aserción de SAML 2.0 Web SSO.
Al definir este valor, se debe tener en cuenta los requisitos de seguridad del usuario, así como la latencia de la red empresarial.
Esta configuración se utiliza para establecer la cantidad de tiempo (en segundos) de que dispone el servicio de autenticación centralizada (CAS) para devolver a ThingWorx una respuesta de solicitud de conexión. Si la respuesta de solicitud de conexión tarda más de lo definido en este valor, el intento de conexión falla.
La tolerancia de desfase es la desviación en la validez de respuesta que el destinatario permite debido a las supuestas diferencias entre los relojes de los sistemas. Se recomienda minimizar los efectos del desfase asegurándose de que los relojes de cada sistema estén sincronizados correctamente.
|
300
|
||
webSSOProfileConsumerReleaseDOM
|
Permite determinar si la estructura de seguridad mantiene la aserción de SAML después de completarse la autenticación.
Si se define en falso, la aserción de SAML se mantiene después de completarse la autenticación.
|
verdadero
|
||
webSSOProfileResponseSkew
|
Permite especificar la tolerancia de desfase de respuesta del perfil de SAML 2.0 Web SSO.
Al definir este valor, se debe tener en cuenta los requisitos de seguridad del usuario, así como la latencia de la red empresarial.
La tolerancia de desfase es la desviación en la validez de respuesta que el destinatario permite debido a las supuestas diferencias entre los relojes de los sistemas. Se recomienda minimizar los efectos del desfase asegurándose de que los relojes de cada sistema estén sincronizados correctamente.
|
300
|
||
retriggerOnScopesRemoval
|
Permite especificar si la lista de ámbitos obligatorios ha cambiado y debe actualizarse.
Si el valor se define en verdadero, indica que se ha añadido un ámbito a la lista de ámbitos obligatorios o se ha quitado de ella.
Si el valor se define en falso, indica que se ha añadido un ámbito a la lista de ámbitos obligatorios.
|
verdadero
|
||
samlAssertionUserNameAttributeName
|
Permite especificar qué atributo de SAML tiene el valor en el que se almacenan los nombres de usuario de los usuarios de ThingWorx cuando estos inician sesión. Asegúrese de que el valor de este atributo en el proveedor de identidad esté en consonancia con los valores de nombre de usuario que se utilizarían para nombres de usuario de ThingWorx.
|
uid
|
||
samlAssertionMaxAuthenticationAge
|
Permite especificar la duración máxima (en segundos) de la aserción de SAML 2.0 antes de que venza. También permite especificar el tiempo de sesión máximo para una aserción de autenticación.
Defina el valor para que coincida con el valor del tiempo de espera de la sesión especificado en el proveedor de identidad.
|
7200 segundos
|
||
authnContextAsPassword
|
Opcional. En algunos casos poco frecuentes, IdP requiere que se coloque la siguiente aserción en la solicitud de 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> En esos casos, se debe definir esta propiedad.
|
verdadero
|
![]() |
Si desea activar el autenticador de claves de aplicación cuando SSO está activado, se debe añadir la siguiente sección de configuración ApplicationKeySettings a la configuración de sso-settings.json en BasicSettings. Solo es obligatorio si desea utilizar
caves de aplicación para la autenticación a través de solicitudes de API de REST. Las claves de aplicación pueden seguir utilizándose desde dispositivos Edge a través de WebSockets, independientemente de si se activa o desactiva esta configuración.
{
"BasicSettings": { ... }, "ApplicationKeySettings": { "enabled": true }, ... } |
Parámetro
|
Descripción
|
Value
|
||
---|---|---|---|---|
dbType
|
Permite especificar el tipo de base de datos que se configura y se utiliza para la instalación de ThingWorx.
• Para utilizar la misma base de datos que se ha definido en el fichero platform-settings.json, se debe especificar el mismo tipo de base de datos y las mismas credenciales que se han definido en platform-settings.json.
• Para utilizar una base de datos dedicada para el token de autorización, especifique el valor "por defecto". Una vez que se haya configurado el valor "por defecto", se crea una nueva base de datos H2 dedicada.
|
por defecto
|
||
H2
|
||||
postgres
|
||||
mssql
|
||||
hana
|
||||
driverClassName
|
Permite especificar el nombre de clase del controlador que se utiliza en el fichero platform-settings.json.
|
Para dbType definido en por defecto, defina el parámetro en org.h2.Driver.
|
||
Para dbType definido en h2, defina el parámetro en org.h2.Driver.
|
||||
Para dbType definido en postgres, defina el parámetro en org.postgresql.Driver.
|
||||
Para dbType definido en mssql, defina el parámetro en com.microsoft.sqlserver.jdbc.SQLServerDriver.
|
||||
Para dbType definido en hana, defina el parámetro en com.sap.db.jdbc.Driver.
|
||||
url
|
Permite especificar la URL a la ubicación de la base de datos para la instalación de ThingWorx.
|
Para dbType definido en por defecto, defina el parámetro en jdbc:h2:\\<unidad>:\\ThingworxPlatform\\ssoSecurityConfig\\sso-oauth2-client-db.
|
||
Para dbType definido en h2, este parámetro no es obligatorio.
|
||||
Para dbType definido en postgres, defina el parámetro en jdbc:postgresql://<nombre de host>:<puerto>/thingworx.
|
||||
Para dbType definido en mssql, defina el parámetro en jdbc:sqlserver://<nombre de host>:<puerto>;databaseName=thingworx;applicationName=Thingworx.
|
||||
Para dbType definido en hana, defina el parámetro en jdbc:sap://<dirección IP>:39041/?databaseName=thingworx¤tschema=TWADMIN.
|
||||
username
|
Permite especificar el nombre de usuario de la base de datos que el sistema utiliza para almacenar tokens de acceso. Debe coincidir con el nombre de usuario especificado en el fichero platform-settings.json.
|
—
|
||
password
|
Permite especificar la contraseña de la base de datos que el sistema utiliza para almacenar tokens de acceso. Debe coincidir con la contraseña especificada en el fichero platform-settings.json.
|
—
|
||
encryptTokenInDatabase
|
Se define en verdadero para cifrar el token de acceso antes de almacenarlo en la base de datos.
|
verdadero
|
||
keyczarKeyFolderPath
|
Si el valor del parámetro encryptTokenInDatabase se define en verdadero, esta ruta debe señalar a una ubicación de keyCzarKey válida. Modifique la ruta para utilizar el directorio donde se encuentra la carpeta ThingworxPlatform\ssoSecurityConfig\symmetric.
|
En Windows: <unidad>:\\ThingWorxPlatform\\ssoSecurityConfig\\symmetric
donde <unidad> indica la unidad en la que se ha instalado ThingWorx.
Para Linux: \\ThingworxPlatform\\ssoSecurityConfig\\symmetric
|
dbType
|
Ubicación en la base de datos donde se almacenarán las aprobaciones de concesiones.
|
---|---|
por defecto
|
Se crea una base de datos H2 de subconjunto, tal como se especifica en la ruta del parámetro url. Por defecto, la base de datos se coloca en un directorio relativo al directorio Tomcat.
Si dbType se define en por defecto, se recomienda especificar la ruta completa de la URL de JDBC y no solamente la ruta relativa.
Por ejemplo: jdbc:h2:./ThingworxPlatform/ssoSecurityConfig/sso-oauth2-client-db
|
H2
|
Ficheros WAR de H2 de ThingWorx en los ficheros de base de datos H2 ThingworxStorage/database.
|
postgres
|
En la tabla oauth_client_token de la base de datos PostgreSQL de ThingWorx.
|
mssql
|
En la tabla oauth_client_token de la base de datos MS SQL de ThingWorx.
|
hana
|
En la tabla oauth_client_token de la base de datos SAP HANA de ThingWorx.
|
Parámetro
|
Descripción
|
Value
|
||
---|---|---|---|---|
keyStoreFilePath
|
Permite especificar la ubicación de la ruta de fichero absoluta del keystore. Según el entorno, se debe modificar la ruta para utilizar el directorio donde se guarda el fichero del keystore.
|
Para Windows: <unidad>:\\ThingworxPlatform\\ssoSecurityConfig\\sso-keystore.jks
donde <unidad> indica la unidad en la que se ha instalado ThingWorx.
Para Linux: \\ThingworxPlatform\\ssoSecurityConfig\\sso-keystore.jks
|
||
keyStoreStorePass
|
Permite especificar la contraseña de keystore.
|
—
|
||
keyStoreKey
|
Permite especificar la clave por defecto.
|
—
|
||
keyStoreKeyPass
|
Permite especificar la contraseña que se utiliza para acceder a las claves privadas.
|
—
|
![]() |
En la configuración de AuthorizationServersSettings se puede incluir información para más de un servidor de autorización. Cada servidor se identifica mediante un identificador exclusivo en el fichero sso-settings.json.
|
Parámetro
|
Descripción
|
Value
|
||
---|---|---|---|---|
<IDAutorizaciónServidor1>.clientId
|
Permite especificar el identificador de cliente que se debe utilizar al obtener tokens de acceso del servidor de autorización.
|
—
|
||
<IDAutorizaciónServidor1>.clientSecret
|
Permite especificar las credenciales de cliente que se utilizan para autenticar con el servidor de autorización.
Se debe definir en la URL de servidor de nombres de dominio completos en la red.
|
—
|
||
<IDAutorizaciónServidor1>.authorizeUri
|
Permite especificar el URI al que se redirigirá al usuario para autorizar un token de acceso.
|
https://<nombre-host-PingFederate>:<número-puerto-PingFederate>/as/authorization.oauth2
|
||
<IDAutorizaciónServidor1>.tokenUri
|
Permite especificar el URI que se debe utilizar para obtener un token de acceso de OAuth2.
Se debe definir en la URL de servidor de nombres de dominio completos en la red.
|
https://<nombre-host-PingFederate>:<número-puerto-PingFederate>/as/token.oauth2
|
||
<IDAutorizaciónServidor1>.clientAuthScheme
|
Permite especificar el esquema que se debe utilizar para autenticar el cliente. Los valores permitidos son los siguientes:
• formulario
• cabecera
• query
• ninguno
|
formulario
|