Paquete
|
Descripción
|
---|---|
com.thingworx.security.authentication.sso
|
Paquete para todos los componentes de autenticación del SSO de ThingWorx. Los siguientes ejemplos son entradas en los paquetes de registradores:
• Para mensajes que van al registro de aplicación, por ejemplo:
LogUtilities.getInstance().getApplicationLogger([class name]):
<logger name="com.thingworx.security.authentication.sso" level="DEBUG"/> • Los registradores de seguridad se utilizan en muchas clases de este paquete. Por ejemplo:
LogUtilities.getInstance().getSecurityLogger(ThingworxSSOAuthenticator.class);
Para activar estos registradores, añada SecurityLog como el registrador padre raíz:
<logger name="SecurityLog.com.thingworx.security.authentication.sso" level="DEBUG"/>
|
SecurityLog.com.thingworx.security.sso
|
Paquete para los flujos de trabajo de autorización delegados que utilizan los conectores integrados cuando obtienen tokens de acceso y sus configuraciones.
|
com.thingworx.ptc.eauth.identity
|
Paquete para todos los componentes de biblioteca de SSO principales de PTC.
|
com.springframework.security
|
Paquete para todos los componentes de seguridad del marco de Spring.
|
com.springframework.jdbc
|
Paquete para todos los componentes de autenticación JDBC del marco de Spring.
|
Problema
|
El administrador de ThingWorx no puede iniciar sesión: error de invalid_scope
|
Descripción
|
Después de iniciar sesión, se redirige al usuario a una página de error de ThingWorx donde se indica que el sistema está experimentando actualmente un error de configuración de autenticación.
|
Solución
|
Uno o varios de los ámbitos registrados en un conector de integración o una entidad multimedia de ThingWorx no coinciden con los ámbitos registrados en PingFederate (en el CAS elegido). Esta discrepancia de ámbitos entre PingFederate puede provocar el bloqueo del administrador de ThingWorx. Los ámbitos del servidor de recursos que se han registrado en ThingWorx se pueden ver en el registro de seguridad. Para resolver esto:
1. Inicie sesión en PingFederate y compare los ámbitos notificados del registro de seguridad de ThingWorx con los ámbitos registrados en PingFederate. Para los ámbitos de ThingWorx que no estén registrados en PingFederate o tengan nombres que no coincidan, añada el ámbito en PingFederate o modifique el nombre para que coincida con la ortografía del ámbito de ThingWorx (aunque esta no sea la ortografía correcta del ámbito).
2. Ahora, la página de aprobación de concesiones funciona correctamente y se puede iniciar sesión en ThingWorx como administrador. En ThingWorx Composer, navegue hasta el conector de integración o la entidad multimedia que intenta utilizar el ámbito. Quítelo de la tabla de registro de ámbitos para el conector de integración o la entidad multimedia. Inicie sesión con una nueva sesión de ThingWorx para verificar que el inicio de sesión sea correcto.
3. Para el caso en que ThingWorx estaba intentando utilizar un ámbito que no se había registrado, en PingFederate, quite el ámbito no deseado de la página de gestión de ámbitos. Si los nombres de ámbito no coinciden, borre el ámbito y vuelva a registrarlo con la ortografía correcta en PingFederate y en el conector de integración o la entidad multimedia de ThingWorx.
|
Problema
|
El servicio no funciona en un conector de integración o una entidad multimedia: error al recuperar el token de acceso.
|
Descripción
|
El usuario está conectado a ThingWorx Composer y ya tiene un token de acceso. Se ha importado o creado un conector con un ámbito y se ha intentado ejecutar un servicio en el conector y no ha funcionado.
|
Solución
|
Cierre la sesión e iníciela para abrir la página de aprobación de concesiones para los ámbitos del conector. Para que el servicio funcione, es necesario aprobar la concesión del ámbito recién registrado.
Ocurre lo mismo si se importan o crean entidades multimedia en las que se incluyen ámbitos.
|
Problema
|
Errores de inicialización de contexto y bean de SSO al iniciar ThingWorx.
|
Descripción
|
ThingWorx falla al iniciarse.
|
Solución
|
Consulte los registros de errores para determinar el problema. En el texto del final del registro de avisos o errores de inicialización de contexto o bean se describe el problema. Por ejemplo, un posible error podría indicarse de la siguiente manera:
SSOConfigurationException: BasicSettings > idpMetadataFilePath cannot be null or empty
Compruebe el valor del parámetro idpMetadataFilePath en el fichero sso-settings.json y añada el valor adecuado.
|
Problema
|
El mashup o la aplicación de ThingWorx no se carga después de que el usuario pulse en Don't allow para los ámbitos solicitados en la página Request Grant Approval de PingFederate.
|
Descripción
|
Después de pulsar en Don't allow en la página Request Grant Approval, el mashup no se carga y el URL del explorador termina con un símbolo de almohadilla "#" y un punto ".".
|
Solución
|
Por defecto, PingFederate utiliza un punto "." como marcador de fragmento que provoca este problema. Para resolverlo, realice lo siguiente:
1. En la ubicación de instalación de PingFederate, navegue hasta <InstalaciónPingFederate>\server\default\data\config-store\sanitize-fragments.xml.
2. Edite este fichero XML y quite el punto "." del marcador de fragmento. La línea debe ser la siguiente: <con:item name="FragmentPlaceholder"></con:item>
3. Reinicie el servidor de PingFederate.
|
Problema
|
La autenticación de SAML con http://<servidor>:<puerto>/ThingWorx/runtime/index.html#mashup=<MiMashup> redirige a http://<servidor>:<puerto>/ThingWorx/runtime/index.html después de una conexión correcta.
|
Descripción
|
Durante el inicio de sesión en un URL de mashup, la parte de fragmento del URL (es decir, #mashup=<MiMashup>) no se envía al servidor de ThingWorx o al servidor de autenticación para el redireccionamiento adecuado después de iniciar sesión correctamente, porque el explorador conserva esos datos solo para uso del cliente. Por lo tanto, el servidor de ThingWorx y el servidor de autenticación reciben la URL sin el fragmento, es decir, http://<servidor>:<puerto>/Thingworx/runtime/index.html.
|
Solución
|
Los URL de mashup que se utilicen como punto de autenticación inicial se construyen con parámetros de consulta en lugar de parámetros de fragmento.
Por lo tanto, en este caso, se utiliza este URL: http://<su servidor>:<puerto>/ThingWorx/runtime/index.html?mashup=<MiMashup>.
|
Problema
|
Cada inicio de sesión muestra la página Request Grant Approval de PingFederate.
|
Descripción
|
PingFederate no devuelve ámbitos después del proceso correcto de aprobación de concesiones.
|
Solución
|
En PingFederate:
1. Cree o edite el fichero oauth-scope-settings.xml que está disponible en las ubicaciones <carpeta de instalación de PingFederate>/server/default/data/config-store de la siguiente manera:
<?xml version="1.0" encoding="UTF-8"?>
<z:config xmlns:z="http://www.sourceid.org/2004/05/config"> <z:item name="always-return-scope-for-authz-code">true</z:item> </z:config> 2. Reinicie PingFederate.
|
Problema
|
La autenticación de SAML con http://<servidor>:<puerto>/ThingWorx/runtime/index.html#mashup=<MiMashup> redirige a http://<servidor>:<puerto>/ThingWorx/runtime/index.html después de una conexión correcta.
|
Descripción
|
Durante el inicio de sesión en un URL de mashup, la parte de fragmento del URL (es decir, #mashup=<MiMashup>) no se envía al servidor de ThingWorx o al servidor de autenticación para el redireccionamiento adecuado después de iniciar sesión correctamente, porque el explorador conserva esos datos solo para uso del cliente. Por lo tanto, el servidor de ThingWorx y el servidor de autenticación reciben la URL sin el fragmento, es decir, http://<servidor>:<puerto>/Thingworx/runtime/index.html.
|
Solución
|
Los URL de mashup que se utilicen como punto de autenticación inicial se construyen con parámetros de consulta en lugar de parámetros de fragmento.
Por lo tanto, en este caso, se utiliza este URL: http://<su servidor>:<puerto>/ThingWorx/runtime/index.html?mashup=<MiMashup>.
|
Problema
|
El siguiente error se muestra en el fichero server.log de PingFederate:
ERROR [SpringLdapGuidFormatter] Decoded binary guidAttribute is empty. Please check that the source datastore is configured with 'objectGUID' as a binary attribute. [] Channel: channel1
|
Descripción
|
Debido a los cambios en PingFed 11.3, SCIM se debe configurar manualmente.
|
Solución
|
Siga los pasos que se mencionan en Adición de atributos binarios LDAP.
|
Problema
|
Cuando AzureAD se configura como CAS, el usuario final no puede obtener datos del servidor de recursos (RS) mediante un tipo de conexión de SSO que se basa en conectores ThingWorx (ya que el token de acceso ha vencido).
|
Descripción
|
En el fichero SecurityLog.log se muestra el siguiente error.
ERROR: [ Failed to retrieve access token. ][ A redirect is required to get the users approval ]
|
Solución
|
definir la propiedad mandatoryScopes en AuthorizationServersSettings en sso-settings.json para incluir offline_access.
|