Creación de conexiones de PingFederate
En PingFederate, cree extremos de cliente a los que se conecten las aplicaciones de la solución de SSO al obtener o verificar tokens de acceso o al autenticar usuarios. Se recomienda crear un cliente separado para cada rol que una aplicación realice en la solución de SSO. De este modo, se puede ajustar la configuración dentro del rol en cuestión en el cliente.
Para el SSO de ThingWorx, se deben crear los siguientes clientes en PingFederate:
Conexión de SP para ThingWorx como proveedor de servicios
Cliente de OAuth para ThingWorx como proveedor de servicios
Para obtener información detallada sobre la creación y configuración de conexiones de PingFederate, consulte la documentación de PingFederate o póngase en contacto con el soporte al cliente de PingIdentity. En los siguientes procedimientos se incluye la configuración necesaria para el SSO de ThingWorx. Sin embargo, es posible que se necesiten opciones de configuración adicionales para la solución de SSO de la empresa.
Conexión de SP para ThingWorx como proveedor de servicios
Esta conexión se utiliza para la autenticación de SAML. ThingWorx dirige las solicitudes de conexión del usuario a PingFederate.
1. En la página IDP Configuration, seleccione SP Connections y pulse en Create New.
2. En la sección Connection Type, seleccione Browser SSO Profiles para especificar el protocolo SAML 2.0.
3. En la sección Connection Options, seleccione Browser SSO.
4. En la sección General Info, realice los siguientes pasos:
a. Defina Partner’s Entity ID (Connection ID) en un valor único. Anote este ID, ya que se deberá utilizar al configurar el fichero sso-settings.json.
b. Proporcione un nombre descriptivo para el campo Connection Name. Este es el nombre que se muestra en la lista de conexiones de SP.
c. Defina Base URL en el URL donde se aloja el proveedor de servicios de la aplicación Web (ThingWorx).
5. En la sección Protocol Settings, defina Assertion Consumer Service URL Endpoint en URL:/ThingWorx/saml/SSO.
6. En la sección Credentials, defina Digital Signature Settings en Selected Certificate.
7. En la sección Signature Verification, añada un certificado para lo siguiente:
Signature Verification Certificate: Selected Certificate
Signature Verification Certificate: Selected Encryption Certificate
Select XML Encryption Certificate: Selected Encryption Certificate
8. Confirme que el nuevo proveedor de servicios esté activo. Consulte la conexión de SP. Un indicador de botón situado en la parte superior de la página Activation & Summary se debe definir en Active.
9. Pulse en Guardar.
PingFederate utiliza un mecanismo denominado contrato de directiva para conexiones puente entre proveedores de servicios y el proveedor de identidad en el que se basa PingFederate. Se deberá crear un contrato de directiva para esta conexión de SP. Una vez creado, enumere los atributos que se deben intercambiar en las aserciones de SAML.
Para obtener más información, consulte la sección "Working With Identity Providers" del documento PTC Single Sign-on Architecture and Configuration Overview Guide.
Cliente de OAuth para ThingWorx como proveedor de servicios
El cliente de OAuth es un punto de conexión para que PingFederate proporcione tokens de acceso a ThingWorx. ThingWorx utiliza estos tokens de acceso para solicitar recursos protegidos mediante OAuth a proveedores de recursos.
1. En la página OAuth Settings, seleccione Clients y pulse en Create New.
2. En el campo Client ID, escriba un valor. Este se utiliza como el valor del parámetro AuthorizationServersSettings.<AuthServerId>.clientId al configurar el fichero sso-settings.json.
3. Seleccione Client Secret e introduzca un valor de secreto de cliente. Anote este valor, ya que se utiliza como el valor del parámetro AuthorizationServersSettings.<AuthServerId>.clientSecret al configurar el fichero sso-settings.json.
4. En el campo Name, escriba un valor. Se muestra en la lista de clientes de PingFederate.
5. En el campo Description, introduzca una descripción.
6. En la sección Redirect URIS, escriba la URI de redireccionamiento del servidor de ThingWorx. Por ejemplo: http://<miservidor>:<mipuerto>/Thingworx/oauth2_authorization_code_redirect, donde <miservidor> es el servidor de ThingWorx.
* 
Si se ha instalado en una instancia de ThingWorx Core que se está configurando para SSO, se debe especificar este valor como https://<nombre de host de ThingWorx Flow Nginx>:<número de puerto de ThingWorx Flow Nginx>/Thingworx/oauth2_authorization_code_redirect.
7. En la sección Allow Grant Types, seleccione Refresh Token y Authorization Code.
8. En la sección Persistent Grants Expiration, seleccione Grants Do Not Expire.
9. En la sección Refresh Token Rolling Policy, seleccione Roll.