PingFederate como servidor de autenticación central > Ejemplos de configuraciones de SSO > Ejemplo: Implementación de SSO con PingFederate como el servidor de autenticación central, AD FS como proveedor de identidades, SCIM como método de abastecimiento de usuario y Windchill como servidor de recursos
Ejemplo: Implementación de SSO con PingFederate como el servidor de autenticación central, AD FS como proveedor de identidades, SCIM como método de abastecimiento de usuario y Windchill como servidor de recursos
En este ejemplo se proporcionan los pasos detallados sobre cómo configurar un entorno que tenga ThingWorx configurado para el inicio de sesión único con PingFederate como el servidor de autenticación central (CAS), Active Directory Federation Services (AD FS) como proveedor de identidades (IdP) y Windchill como servidor de recursos.
En la siguiente tabla se muestran las aplicaciones configuradas y su rol en este ejemplo:
Rol
Aplicación
Proveedor de servicios
ThingWorx
Servidor de autenticación central
PingFederate
Proveedor de identidades
AD FS
Servidor de recursos
Windchill
En el siguiente diagrama se muestra la configuración que se describe en este ejemplo.
Para obtener un resumen de la implementación de SSO con esta arquitectura, consulte el vídeo que se proporciona en el artículo CS271789.
Antes de comenzar la implementación de SSO, revise el siguiente árbol de decisiones que realza los puntos de decisiones clave en el proceso de implementación de ThingWorx Navigate y Windchill con PingFederate. Este gráfico presenta las rutas recomendadas según las prácticas recomendadas, la capacidad de uso y los casos de uso típicos.
* 
Hay otras combinaciones de IdP y LDAP que no se cubren en este gráfico. Por ejemplo, se puede utilizar Microsoft Active Directory en un host Windows en combinación con ThingWorx y Windchill en los hosts Linux, pero este escenario no es típico ni preferido.
El uso de Shibboleth SP para facilitar el SSO para Windchill requiere una versión 11.0 M020 o posterior.
Árbol de decisiones de SSO
Parte A: requisitos previos 
1. Actualice los ficheros hosts de los ordenadores que se utilizan en el entorno con lo siguiente:
Ordenador PingFederate: añada los ordenadores AD FS ThingWorx y PingFederate.
Ordenador ThingWorx: añada los ordenadores AD FS ThingWorx y PingFederate.
Ordenador Windchill: añada los ordenadores de ThingWorx y PingFederate.
2. Instale ThingWorx. Para obtener más información, consulte el centro de ayuda de ThingWorx.
Detenga el servidor ThingWorx.
* 
Asegúrese de actualizar y configurar Tomcat para que ThingWorx funcione en entornos de dominios cruzados. Para obtener más información, consulte este artículo.
3. Instale o actualice PingFederate con el parche más reciente soportado por ThingWorx.
4. Asegúrese de haber configurado Windchill. Para obtener más información, consulte el centro de ayuda de Windchill adecuado.
5. Asegúrese de haber configurado el servidor de AD FS.
Parte B: Configuración manual de la autenticación de AD FS 
Paso 1: Creación del certificado SSL global de PingFederate
1. Conéctese a PingFederate como administrador. Busque SSL Server Certificates y abra los resultados de la búsqueda.
2. Pulse en Create New para crear el certificado SSL global y realice lo siguiente:
a. En el campo Common Name, proporcione el FQDN de del ordenador de PingFederate.
b. Proporcione otros detalles en la página y pulse en Next.
c. Asegúrese de que las siguientes casillas estén marcadas y pulse en Save.
d. Pulse en SSL Server Certificates.
e. Para el certificado SSL que se ha creado, en la lista Select Action, seleccione Activate Default for Runtime Server y, a continuación, seleccione Activate Default for Admin Console. Pulse en Save.
Este certificado SSL se marca como default para la consola de administración y el servidor de tiempo de ejecución.
3. Para el certificado localhost, realice lo siguiente:
a. En la lista Select Action, seleccione Deactivate for Runtime Server y, a continuación, seleccione Deactivate for Admin Console.
b. Borre el certificado localhost y pulse en Save.
Paso 2: Creación del contrato de proveedor de servicios
1. En PingFederate, busque Policy Contract y abra el resultado de la búsqueda.
2. Pulse en Create New Contracts y realice lo siguiente:
a. En el campo Contract Info, introduzca un nombre de contrato, por ejemplo, SPContract y pulse en Next.
b. En Contract Attributes, para extender el contrato con los siguientes atributos, pulse en Add para cada atributo:
uid
email
group
Por defecto, el atributo subject está presente.
c. Pulse en Next y, en la página Summary, pulse en Save.
d. En la página Authentication Policy Contracts, pulse en Save.
Paso 3: Descarga del fichero FederationMetadata.xml de AD FS
1. En el explorador del ordenador de AD FS, introduzca el siguiente URL para descargar el fichero de metadatos de federación:
https://ADSF_Host.ADFS_Dominio/FederationMetadata/2007-06/FederationMetadata.xml
2. Copie el fichero descargado en el ordenador de PingFederate.
Paso 4: Creación de la conexión de IdP de PingFederate
A) Especificación de la información general para crear una conexión de IdP
1. En PingFederate, busque IdP Connections y abra los resultados de la búsqueda. Pulse en Create Connection.
2. En la ficha Connection Type, seleccione la casilla BROWSER SSO Profiles y pulse en Next.
3. En la ficha Connection Options, seleccione las casillas BROWSER SSO y OAUTH ATTRIBUTE MAPPING, y pulse en Next.
4. En la ficha Import Metadata, seleccione File y pulse en Choose File para buscar el fichero FederationMetadata.xml y pulse en Next.
5. En la ficha Metadata Summary, pulse en Next.
6. La ficha General Info se rellena con datos. Si lo desea, puede cambiar el valor de CONNECTION NAME. Verifique el resto de la información y pulse en Next.
7. En la ficha Browser SSO, pulse en Configure Browser SSO. Se abre la página Browser SSO, donde se debe especificar la configuración del inicio de sesión único para el explorador.
B) Configuración de las opciones de SSO del explorador
1. En la ficha SAML Profiles de la página Browser SSO, seleccione las siguientes opciones y pulse en Next:
IDP-INITIATED SSO
SP-INITIATED SSO
2. En la ficha User-Session Creation, pulse en Configure User-Session Creation. Se abre la página User-Session Creation, donde se deben especificar las opciones para configurar la creación de usuarios.
C) Configuración de las opciones de creación de sesión de usuario
1. En la ficha Identity Mapping, acepte la configuración por defecto y pulse en Next.
2. En la ficha Attribute Contract, verifique los atributos rellenados automáticamente y pulse en Siguiente.
3. En la ficha Target Session Mapping, pulse en Map New Authentication Policy. Se abre la página Authentication Policy Mapping, donde se debe especificar la configuración de la asignación de directivas de autenticación.
D) Configuración de las opciones de asignación de directivas de autenticación
1. En la lista Authentication Policy Contract, seleccione el contrato que se ha creado en Parte B: paso 2, es decir, SPContract. Verifique que se muestren todos los atributos y pulse en Next.
2. En la ficha Attribute Retrieval, acepte la configuración por defecto y pulse en Next.
3. En la ficha Contract Fulfillment, seleccione los siguientes valores para los contratos de directiva de autenticación email, group, subject y uid:
En la lista Source, seleccione Assertion.
En la lista Value, seleccione la entrada correspondiente de la lista.
Pulse en Next.
4. En la ficha Issuance Criteria, pulse en Next.
5. Revise la información de la ficha Summary. Si la información es correcta, pulse en Done. Se abre la página User-Session Creation, donde se deben revisar los valores de configuración para la creación de sesiones de usuario.
E) Revisión de las opciones de configuración de creación de sesión de usuario
1. En la ficha Target Session Mapping de la página User-Session Creation se muestra la información que se ha seleccionado al asignar una nueva directiva de autenticación. Pulse en Next.
2. Revise la información de la ficha Summary. Si la información es correcta, pulse en Done. Se abre la página Browser SSO.
3. En la ficha User-Session Creation de la página Browser SSO se muestra la información que se ha introducido al configurar la creación de la sesión de usuario. Pulse en Next.
4. En la ficha OAuth Attribute Mapping, seleccione Map Directly Into Persistent Grant y Configure OAuth Attribute Mapping y, a continuación, realice lo siguiente:
a. En la ficha Data Store, pulse en Next.
b. En la ficha Contract Fulfilment, para USER_KEY y USER_NAME, seleccione Source como Assertion y Value como atributo de nombre desde ADFS y pulse en Next.
c. En la ficha Issuance Criteria, pulse en Next.
5. Revise la información de la ficha Summary. Si la información es correcta, pulse en Done. Pulse en Next en la página OAuth Attribute Mapping Configuration.
6. En la ficha Protocol Settings, pulse en Configure Protocol Settings. Se abre la página Protocol Settings, donde se debe especificar la configuración del protocolo.
F) Configuración y revisión de las opciones del protocolo
1. En la ficha SSO Service URLs, pulse en Next.
2. En la ficha Allowable SAML Bindings, realice lo siguiente y pulse en Next:
a. Seleccione las siguientes casillas:
POST
REDIRECT
b. Despeje las siguientes casillas:
ARTIFACT
POST
3. Omita la configuración de la ficha Overrides y pulse en Next.
4. En la ficha Signature Policy, pulse en SPECIFY ADDITIONAL SIGNATURE REQUIREMENTS, seleccione las dos casillas situadas debajo y pulse en Siguiente.
5. En la ficha Encryption Policy, pulse en ALLOW ENCRYPTED SAML ASSERTIONS AND SLO MESSAGES, seleccione la casilla THE ENTIRE ASSERTION y pulse en Next.
6. Revise la información de la ficha Summary. Si la información es correcta, pulse en Done. Se abre la página Browser SSO.
7. En la ficha Protocol Settings de la página Browser SSO se muestra la información seleccionada al configurar las opciones del protocolo. Pulse en Next.
8. Revise la información de la ficha Summary. Si la información es correcta, pulse en Done. Se abre la página IdP Connection.
9. En la ficha Browser SSO de la página IdP Connection, pulse en Next.
10. En la ficha Credentials, pulse en Configure Credentials. Se abre la página Credentials, donde es necesario especificar las opciones para configurar las credenciales.
G) Configuración de credenciales
1. En la ficha Digital Signature Settings, pulse en Manage Certificates.
2. Para crear un certificado de firma, pulse en Create New, proporcione los siguientes valores y pulse en Next:
COMMON NAME
ORGANIZATION
COUNTRY
VALIDITY (DAYS): 365
KEY ALGORITHM: RSA
KEY SIZE (BITS): 2048
SIGNATURE ALGORITHM: RSA SHA256
3. Revise la información de la ficha Summary. Si la información es correcta, pulse en Save y pulse en Done.
4. En la ficha Digital Signature Settings, para la instancia de SIGNING CERTIFICATE creada, seleccione la casilla INCLUDE THE CERTIFICATE IN THE SIGNATURE <KEYINFO> ELEMENT y pulse en Next.
Este es el certificado de capa de aplicación que se utiliza para firmar digitalmente la solicitud de PingFederate al IdP.
5. En la ficha Signature Verification Settings, pulse en Manage Signature Verification Settings.
a. En la ficha Trust Model, seleccione sin UNANCHORED y pulse en Next.
b. En Signature Verification Certificate, verifique que se muestra el certificado de firma de IdP y pulse en Siguiente.
Este es el certificado de capa de aplicación que se utiliza para la verificación de firmas de las solicitudes del IdP a PingFederate. Se importa automáticamente en PingFederate al importar el fichero metadata.xml del IdP.
c. Revise la información de la ficha Summary. Si la información es correcta, pulse en Done.
d. En la ficha Signature Verification Settings, pulse en Next.
e. En Select Decryption Keys, seleccione el certificado de PingFederate y pulse en Next.
f. Revise la información de la ficha Summary. Si la información es correcta, pulse en Done.
g. En la página Credentials, pulse en Next.
H) Activación de la conexión IdP
En la página Activation & Summary, asegúrese de que la opción SSO Application Endpoint está activada y pulse en Save.
Se ha creado y activado la conexión IdP.
I) Verificación de la conexión IdP
Pulse en la conexión de IdP que ha creado, copie el URL de SSO Application Endpoint, péguelo en un explorador y verifique que se redirige al IdP. Por lo tanto, este URL de PingFederate debe redirigirse a AD FS. Se verá una página similar a la siguiente y que incluirá un mensaje de error.
Parte C: Configuración de la parte dependiente de AD FS 
Paso 1: Exportación del fichero XML de metadatos desde PingFederate
1. En PingFederate, busque IDP Connections y abra los resultados de la búsqueda.
2. Para la conexión IdP, en la lista Select Action, pulse en Export Metadata.
3. En la página Metadata Signing, pulse en Next.
4. En la página Export & Summary, pulse en Export para descargar el fichero de metadatos en la carpeta Descargas del ordenador y pulse en Done.
5. Copie el fichero XML de metadatos en el ordenador de AD FS.
Paso 2: Adición de la parte dependiente en AD FS
1. Inicie sesión en el servidor de AD FS y abra Administrador de servidores.
2. Vaya a Herramientas > Administración de AD FS.
3. En AD FS, pulse con el botón derecho del ratón en Veracidades de usuarios de confianza y luego seleccione Agregar veracidad del usuario de confianza. De este modo, se garantiza que AD FS confía que la conexión procede de PingFederate.
4. En la ventana Asistente para agregar veracidad del usuario de confianza, realice lo siguiente:
a. Pulse en Inicio.
b. En la siguiente pantalla, pulse en Importar datos sobre el usuario de confianza de un archivo.
c. Pulse en Examinar para navegar hasta la ubicación del fichero Metadata.xml que se ha copiado de PingFederate para crear un usuario de confianza en AD FS y pulse en Siguiente.
d. Proporcione el valor de Nombre para mostrar y pulse en Siguiente.
Tome nota de este nombre, ya que será necesario más tarde.
e. Pulse en Siguiente en las ventanas siguientes hasta que llegue a la pantalla Finalizar. A continuación, pulse en Cerrar.
La entrada actual se añade a la lista Veracidades de usuarios de confianza.
También debe aparecer la siguiente ventana (puede estar oculta detrás de la ventana actual):
5. Para asignar los atributos de AD FS a Active Directory, realice lo siguiente:
a. En la ventana Editar la directiva de emisión de notificaciones para <nombre de veracidad de usuario de confianza>, pulse en Agregar regla y, a continuación, en Siguiente.
b. Proporcione un valor de Nombre de regla de notificación y defina el valor de Almacén de atributos en Active Directory.
c. En la tabla Asignación de atributos LDAP a los tipos de notificación saliente, seleccione los valores de las listas para asignar los atributos de AD FS a los atributos de Active Directory:
* 
Si no se asignan estos atributos correctamente, el inicio de sesión único no funcionará.
Nombre para mostrar
Nombre
Direcciones de correo electrónico
Dirección de correo electrónico
Nombre de cuenta SAM
ID de nombre
Is-Member-Of-DL
Grupo
User-Principal-Name
UPN
d. Pulse en Finalizar y, a continuación, en Aceptar.
Paso 3: Configuración de AD FS para cifrar el mensaje completo y la aserción
1. En el ordenador de AD FS, abra Windows PowerShell como administrador.
2. Ejecute el siguiente comando en el ordenador de AD FS para que la comunicación funcione:
Set-ADFSRelyingPartyTrust -TargetName <Nombre de veracidad de usuario de confianza> -SamlResponseSignature "MessageAndAssertion"
donde <Nombre de veracidad de usuario de confianza> es el nombre de la veracidad del usuario de confianza que se ha creado y anotado en el paso 2 anterior.
Este comando configura la firma de la respuesta de SAML a través de Windows PowerShell.
Parte D: Verificación del URL del punto final de conexión del IdP 
1. En PingFederate, copie el URL de SSO Application Endpoint y péguelo en una ventana de incognito.
2. Inicie sesión con el usuario administrador y nombre de dominio que se ha creado para AD FS.
Se debe recibir el siguiente mensaje:
Parte E: Creación de conexiones del proveedor de servicios de PingFederate para ThingWorx 
Paso 1: Creación del certificado de firma de ThingWorx
1. En la carpeta <Carpeta de instalación de ThingWorx>/ThingworxPlatform, cree la carpeta ssoSecurityConfig.
2. Cree un keystore de tipo JKS y asígnele el nombre sso-keystore.jks, tal como se indica a continuación:
Genere un par de claves.
Especifique el nombre común (CN) del certificado como ThingWorx.
3. Exporte thingworx.cer de sso-keystore.jks a la carpeta ssoSecurityConfig.
Paso 2: Configuración de la conexión del proveedor de servicios para ThingWorx
A) Especificación de información general para crear una conexión de proveedor de servicios
1. En la página principal de PingFederate, busque el grupo SP Connections y pulse en Crear conexión. Se abre la página SP Connection.
2. En la ficha Connection Template, seleccione DO NOT USE A TEMPLATE FOR THIS CONNECTION y pulse en Next.
3. En la ficha Connection Type, seleccione las casillas Browser SSO Profiles y SAML 2.0 Protocol y, a continuación, pulse en Next.
4. En la ficha Connection Options, seleccione la casilla BROWSER SSO y pulse en Next.
5. En la ficha Import Metadata, seleccione None y pulse en Next.
6. En la ficha General Info, realice las siguientes tareas:
a. En el campo Partner's Entity ID (Connection ID), proporcione un valor único, por ejemplo, TWX_SP.
Anote este valor porque se utilizará al configurar el fichero sso-settings.json de ThingWorx.
b. En el campo Connection Name, proporcione un nombre descriptivo, por ejemplo, TWX_SP.
Este es el nombre que se mostrará en la lista SP Connections de PingFederate.
c. En el campo Base URL, escriba el URL del servidor donde ThingWorx se implementa y pulse en Next. Por ejemplo: https://{ThingWorxHost_FQDN}:8443.
7. En la ficha Browser SSO, pulse en Configure Browser SSO. Se abre la página Browser SSO, donde se debe especificar la configuración del inicio de sesión único para el explorador.
B) Configuración de las opciones de SSO del explorador
1. En la ficha SAML Profiles de la página Browser SSO, en la sección Single Sign-On (SSO) Profiles, seleccione las siguientes opciones y pulse en Next:
IDP-INITIATED SSO
SP-INITIATED SSO
No seleccione ninguna opción de la columna Single Logout (SLO) Profiles.
2. En la ficha Assertion Lifetime, defina Minutes Before en 60 y Minutes After en 480. Pulse en Next.
3. En la ficha Assertion Creation, pulse en Configure Assertion Creation. Se abre la página Assertion Creation, donde se debe especificar la configuración para la creación de aserciones.
C) Configuración de las opciones de creación de aserciones
1. En la ficha Identity Mapping de la página Assertion Creation, pulse en Standard y en Next.
2. En la ficha Attribute Contract, en Attribute Contract, escriba SAML_Subject y seleccione el valor en Subject Name Format.
3. En la ficha Attribute Contract, en el campo Extend the Contract, configure las siguientes opciones y pulse en Add después de cada valor:
Extensión del contrato
Formato de nombre de atributo
group
urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified
uid
urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified
email
urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified
Pulse en Next.
4. En la ficha Authentication Source Mapping, pulse en Map New Authentication Policy. Se abre la página Authentication Policy Mapping, donde se debe especificar la configuración de la asignación de directivas de autenticación.
D) Configuración de las opciones de asignación de directivas de autenticación
1. En la lista Authentication Policy Contract de la página Authentication Policy Mapping, seleccione el contrato de atributo que se ha creado en Parte B: paso 2, es decir, SPContract. Pulse en Next.
2. En la ficha Mapping Method, pulse en USE ONLY THE AUTHENTICATION POLICY CONTRACT VALUES IN THE SAML ASSERTION y en Next.
3. En la ficha Attribute Contract Fulfillment, seleccione los siguientes valores para los contratos de directiva de autenticación email, group, SAML_SUBJECT y uid:
En la lista Source, seleccione Authentication Policy Contract.
En la lista Value, seleccione la entrada correspondiente de la lista.
Pulse en Next.
4. Omita la configuración de la ficha Issuance Criteria y pulse en Next.
5. Revise la información de la ficha Summary. Si la información es correcta, pulse en Done. Se abre la página Assertion Creation, donde se deben revisar las opciones de configuración para la creación de aserciones.
E) Revisión de las opciones de configuración de la creación de aserciones
1. En la ficha Authentication Source Mapping de la página Assertion Creation se muestra la información que se ha seleccionado al asignar una nueva directiva de autenticación. Pulse en Next.
2. Revise la información de la ficha Summary. Si la información es correcta, pulse en Done. Se abre la página Browser SSO.
3. En la ficha Assertion Creation de la página Browser SSO se muestra la información que se ha introducido al configurar la creación de aserciones. Pulse en Next.
4. En la ficha Protocol Settings, pulse en Configure Protocol Settings. Se abre la página Protocol Settings, donde se debe especificar la configuración del protocolo.
F) Configuración y revisión de las opciones del protocolo
1. En la ficha Assertion Consumer Service URL de la página Protocol Settings, realice lo siguiente:
a. Seleccione la casilla Default.
b. En el campo Index, escriba 0.
c. En la lista Binding, seleccione POST.
d. En el campo Endpoint URL, escriba /Thingworx/saml/SSO.
e. Pulse en Add y, a continuación, en Next.
2. En la ficha Allowable SAML Bindings, seleccione la casilla POST y pulse en Next.
3. En la ficha Signature Policy, seleccione las siguientes opciones y pulse en Next:
REQUIRE AUTHN REQUESTS TO BE SIGNED WHEN RECEIVED VIA THE POST OR REDIRECT BINDINGS
ALWAYS SIGN THE SAML ASSERTION
4. En la ficha Encryption Policy, seleccione The Entire Assertion y pulse en Next.
5. Revise la información de la ficha Summary. Si la información es correcta, pulse en Done. Se abre la página Browser SSO.
6. En la ficha Protocol Settings de la página Browser SSO se muestra la información seleccionada al configurar las opciones del protocolo. Pulse en Next.
7. Revise la información de la ficha Summary. Si la información es correcta, pulse en Done. Se abre la página SP Connection.
8. En la ficha Browser SSO de la página SP Connection, pulse en Next.
9. En la ficha Credentials, pulse en Configure Credentials. Se abre la página Credentials, donde es necesario especificar las opciones para configurar las credenciales.
G) Configuración de credenciales
1. En la ficha Digital Signature Settings, realice las siguientes tareas:
a. En la lista SIGNING CERTIFICATE, seleccione el certificado de la lista.
b. Seleccione la casilla INCLUDE THE CERTIFICATE IN THE SIGNATURE <KEYINFO> ELEMENT.
Pulse en Next.
2. En la ficha Signature Verification Settings, pulse en Save Draft.
3. Pulse en Manage All y luego en Save.
H) Configuración de las opciones de la verificación de firmas e importación y cifrado del certificado
1. Para restaurar la configuración guardada, pulse en Identity Provider y, en SP Connections, pulse en Manage All.
2. Pulse en la conexión de SP, TWX_SP, que se ha guardado como borrador y pulse en Manage Signature Verification Settings.
3. En la ficha Trust Model, seleccione sin UNANCHORED y pulse en Next.
En Signature Verification Certificate, no hay ningún certificado disponible en la lista.
4. Pulse en Manage Certificates y, a continuación, en Import.
5. En la ficha Import Certificate, pulse en Choose file para buscar el fichero de certificado que se ha creado en Parte E: paso 1 y pulse en Next.
6. En la ficha Summary, asegúrese de que la casilla MAKE THIS THE ACTIVE CERTIFICATE esté seleccionada.
7. Revise la información de la página Summary. Si la información es correcta, pulse en Done. Se abre la página Certificate Management.
8. Pulse en Terminado. Se abre la página Signature Verification.
9. En la ficha Signature Verification Certificate, se debe ver el certificado que se ha importado. Pulse en Next.
10. En la página Summary, pulse en Done.
11. En la ficha Signature Verification Settings, pulse en Next.
J) Cifrado del certificado
1. En la ficha Select XML Encryption Certificate, realice lo siguiente y pulse en Next:
a. Seleccione AES-128 para Block Encryption Algorithm.
b. Seleccione RSA-OAEP para Key Transport Algorithm.
c. Seleccione el certificado en la lista.
2. Revise la información de la ficha Summary. Si la información es correcta, pulse en Done. Se abre la página Credentials, donde es necesario revisar la configuración de la verificación de firmas.
K) Activación de la conexión de SP
1. En la ficha Credentials de la página SP Connection se muestra la información que se ha seleccionado al configurar las credenciales. Pulse en Next.
2. En la página Activation & Summary, en Connection Status, asegúrese de que la conexión esté activada.
3. Pulse en Save.
Paso 3: Exportación de los metadatos de conexión del proveedor de servicios de ThingWorx y el certificado público de PingFederate
A) Exportación de metadatos desde PingFederate para ThingWorx
1. En PingFederate, en SP Connections, pulse en Manage All.
2. Para la conexión de SP que se ha creado en Parte E: paso 2, es decir, TWX_SP, en la lista Select Action, pulse en Export Metadata.
3. En la ficha Metadata Signing, pulse en Next.
4. En la ficha Export & Summary, pulse en Export.
Se descarga el fichero.
5. Pulse en Terminado.
B) Exportación del certificado público de PingFederate
1. En PingFederate, en SP Connections, pulse en la conexión de SP seleccionada, TWX_SP.
2. En la ficha Activation & Summary, en la sección Credentials, pulse en Digital Signature Settings y realice lo siguiente:
3. Pulse en Manage Certificates.
4. Para el certificado, en la lista Select Action, pulse en Export.
5. Seleccione la casilla CERTIFICATE ONLY y pulse en Export.
Se descarga el fichero. Cambie el nombre de este fichero por un nombre adecuado. Por ejemplo: pingfedsigning.crt
6. Importe este fichero de certificado público de PingFederate al keystore sso-keystore.jks que se ha creado en Parte E: paso 1.
Paso 3: Exportación de los metadatos de conexión del proveedor de servicios de ThingWorx y el certificado público de PingFederate
A) Exportación de metadatos desde PingFederate para ThingWorx
1. En PingFederate, en SP Connections, pulse en Manage All.
2. Para la conexión de SP que se ha creado en Parte E: paso 2, es decir, TWX_SP, en la lista Select Action, pulse en Export Metadata.
3. En la ficha Metadata Signing, pulse en Next.
4. En la ficha Export & Summary, pulse en Export.
Se descarga el fichero.
5. Pulse en Done y en Save.
B) Exportación del certificado público de PingFederate
1. En PingFederate, en SP Connections, pulse en la conexión de SP seleccionada, TWX_SP.
2. En la ficha Activation & Summary, en la sección Credentials, pulse en Digital Signature Settings y realice lo siguiente:
3. Pulse en Manage Certificates.
4. Para el certificado, en la lista Select Action, pulse en Export.
5. Seleccione la casilla CERTIFICATE ONLY y pulse en Export.
Se descarga el fichero. Cambie el nombre de este fichero por un nombre adecuado. Por ejemplo: pingfedsigning.crt
6. Importe este fichero de certificado público de PingFederate al keystore sso-keystore.jks que se ha creado en Parte E: paso 1.
Parte F: Configuración de ThingWorx para el inicio de sesión único 
1. Detenga el servidor ThingWorx.
Una vez que se haya terminado de configurar ThingWorx para el inicio de sesión único, ssoSecurityConfig debe contener los siguientes ficheros:
Parte G: Creación de certificados SSL 
Paso 1: Importación del certificado SSL de ThingWorx al fichero Java cacerts de PingFederate
1. Cree un par de claves (keystore) para ThingWorx. Asegúrese de utilizar el FQDN del host ThingWorx como valor de CN.
2. Exporte el certificado SSL público de ThingWorx desde este par de claves.
3. Importe el certificado SSL de ThingWorx (.crt) al fichero Java cacerts en el ordenador de PingFederate.
4. Reinicie PingFederate.
Paso 2: Importación del certificado SSL de PingFederate al fichero Java cacerts de ThingWorx
1. Para exportar el certificado de PingFederate, realice lo siguiente:
a. En PingFederate, pulse en Security > SSL Server Certificates.
b. Para el certificado, en la lista Select Action, pulse en Export y, a continuación, en Next.
c. En la ficha Export Certificate, asegúrese de que el valor por defecto sea CERTIFCATE ONLY y pulse en Next.
d. En la ficha Export & Summary, pulse en Export.
Se descarga el certificado.
e. Cambie el nombre del certificado por un nombre adecuado. Por ejemplo: pingfedssl.cer.
2. Importe el certificado SSL de PingFederate (.crt) al fichero Java cacerts en el ordenador de ThingWorx.
Paso 3: Importación del certificado SSL de PingFederate al fichero Java cacerts de PingFederate
Importe el certificado SSL de PingFederate (.crt) al fichero Java cacerts en el ordenador de PingFederate.
* 
PingFederate valida el URL del punto final del token durante la creación de SCIM AD FS SP. Por lo tanto, este paso es necesario al configurar SCIM.
Parte H: Creación de una conexión de cliente de OAuth para ThingWorx 
* 
Asegúrese de que no haya espacios en el campo Redirect URIS y pulse en Save al final de la configuración.
Parte I: Verificación de que ThingWorx se inicia antes de continuar con la configuración de SCIM 
1. Inicie ThingWorx.
Verifique el fichero de registro para asegurarse de que no haya errores.
2. Inicie sesión en ThingWorx con el elemento Domain\username que se ha creado en AD FS.
Parte J: Configuración de SCIM con ThingWorx 
Para obtener más información, consulte Abastecimiento.
Paso 1: Activación del abastecimiento de salida
1. Detenga PingFederate.
2. Detenga ThingWorx.
3. En el fichero run.properties ubicado en <instalación_pf>/pingfederate/bin, donde <instalación_pf> es la ubicación de instalación de PingFederate, actualice el valor de pf.provisioner.mode a STANDALONE.
pf.provisioner.mode=STANDALONE
4. Inicie PingFederate.
Paso 2: Creación de un almacén de datos para Active Directory
1. En PingFederate, busque Data Stores.
2. Pulse en Add New Data Store.
3. Introduzca un valor para NAME, por ejemplo, LDAP_ADFS, y para TYPE, seleccione Directory (LDAP) y pulse en Next.
4. Para HOSTNAME(S), proporcione el FQDN del ordenador de AD FS.
5. Para USER DN, proporcione cn=Administrator,cn=Users,dc=thingworx,dc=com
6. En PASSWORD, proporcione la misma contraseña de administrador que se ha definido en Active Directory y pulse en Next.
7. En la ficha Summary, pulse en Save.
Para obtener más información, consulte Adición de LDAP como almacén de datos.
Paso 3: Creación de una instancia de validador de credenciales de contraseña
1. En PingFederate, busque Password Credential Validators.
2. Pulse en Create New Instance.
3. Proporcione valores para INSTANCE NAME e INSTANCE ID.
4. En la lista TYPE, seleccione Simple Username Password Credential Validator y pulse en Next.
5. En la ficha Instance Configuration, pulse en Add a new row to 'Users'.
6. Proporcione los valores de Username y Password de un usuario de ThingWorx existente, por ejemplo, Administrador. Pulse en Update y pulse en Next.
7. En la ficha Summary, pulse en Done y Save.
Paso 4: Asignación de la instancia de validador de credenciales de contraseña al contrato de concesión persistente
1. En PingFederate, busque Resource Owner Credentials Grant Mapping.
2. En SOURCE PASSWORD VALIDATOR INSTANCE, seleccione el validador que se ha creado anteriormente y pulse en Add Mapping.
3. En la ficha Attribute Sources & User Lookup, pulse en Next.
4. En la ficha Contract Fulfillment, defina Source en Password Credential Validator, Value en username y pulse en Next.
5. En la ficha Issuance Criteria, pulse en Next.
6. En la ficha Summary, pulse en Save.
Paso 5: Creación de un cliente de OAuth para SCIM
El cliente de OAuth es un punto de conexión para que PingFederate proporcione tokens de acceso a ThingWorx. Los proveedores de servicios utilizan estos tokens de acceso para solicitar recursos protegidos por OAuth de ThingWorx.
1. En PingFederate, busque Clients y abra los resultados de la búsqueda. Pulse en Add Client.
2. Proporcione un valor único para CLIENT ID y NAME.
3. Defina CLIENT AUTHENTICATION en CLIENT SECRET.
4. Para CLIENT SECRET, seleccione la casilla CHANGE SECRET y, a continuación, pulse en Generate Secret.
Anote el valor de CLIENT ID y CLIENT SECRET, ya que se necesitará al configurar la sección SCIMAccessTokenServicesSettings en el fichero platform-settings.json.
5. En el campo REDIRECT URIS, introduzca https://{HOST DE THINGWORX}:8443/Thingworx/SCIMProvider/SCIM y pulse en Add.
6. Para ALLOWED GRANT TYPES, seleccione las casillas Client Credentials, Resource Owner Password Credentials y Access Token Validation (Client is a Resource Server).
7. Defina DEFAULT ACCESS TOKEN MANAGER en Default.
8. Asegúrese de definir los valores restantes según la siguiente imagen:
9. Pulse en Save.
Para obtener más información, consulte Creación de un cliente de OAuth para SCIM.
Paso 6: Configuración de SCIM en el fichero platform-settings.json
Paso 7: Verificación de si el subsytem de SCIM se está ejecutando
1. Inicie el servidor de ThingWorx.
2. En ThingWorx Composer, pulse en Inspeccionar y seleccione Subsistemas.
3. Seleccione SCIMSubsystem y verifique que está en ejecución.
Paso 8: Asignación de USERNAME y USER_KEY
1. En PingFederate, busque Access Token Management.
2. Pulse en Create New Instance.
3. Proporcione un valor para INSTANCE NAME.
4. Para INSTANCE ID, escriba default.
5. Defina TYPE como Internally Managed Reference Tokens y pulse en Next.
6. En la ficha Instance Configuration, pulse en Next.
7. En la ficha Session Validation, pulse en Next.
8. En la ficha Access Token Attribute Contract, realice lo siguiente y pulse en Next:
a. En Extend the Contract, añada Username para Windchill y pulse en Add.
* 
Asegúrese de especificar el mismo caso, tal como se indica aquí.
b. En Extend the Contract, añada username para SCIM y pulse en Add.
* 
Asegúrese de especificar el mismo caso, tal como se indica aquí.
9. En la ficha Resource URIs, pulse en Next.
10. En la ficha Access Control, pulse en Next.
11. En la ficha Summary, pulse en Save.
12. Busque Access Token Mapping y, a continuación, pulse en Add Mapping (para el contexto Default).
13. Pulse en Next hasta llegar a la ficha Contract Fulfillment.
14. En la ficha Contract Fulfillment, para los contratos Username y username, realice lo siguiente:
Defina Source en Persistent Grant.
Defina Value en USER_KEY.
15. En la ficha Issuance Criteria, pulse en Next.
16. En la ficha Summary, pulse en Save.
Paso 9: Definición de una conexión de proveedor de servicios para SCIM
1. En PingFederate, busque SP CONNECTIONS y cree una nueva conexión.
2. En la ficha Connection Template, seleccione DO NOT USE A TEMPLATE FOR THIS CONNECTION y pulse en Next.
3. En la ficha CONNECTION TYPE, realice lo siguiente y pulse en Next:
a. Asegúrese de que la casilla BROWSER SSO PROFILES no esté seleccionada.
b. Seleccione la casilla OUTBOUND PROVISIONING y defina TYPE en SCIM 1.1 Service Provider.
4. En la ficha General Info, realice lo siguiente y pulse en Next:
a. Especifique PARTNER'S ENTITY ID (CONNECTION ID) y CONNECTION NAME. Por ejemplo: SCIM_ADFS_SP
b. En el campo BASE URL, introduzca https://ThingWorx_FQDN:8443/Thingworx/SCIMProvider.
* 
Asegúrese de que no haya espacios al final del URL cuando se copie en PingFederate.
5. En la ficha Outbound Provisioning, pulse en Configure Provisioning.
6. En la ficha Custom SCIM Attributes, realice lo siguiente y pulse en Next:
a. En el campo USERS RESOURCE URL, introduzca https://ThingWorx_FQDN:8443/Thingworx/SCIMProvider/SCIM/Users
* 
Asegúrese de que no haya espacios al final del URL cuando se copie en PingFederate.
b. En el campo GROUPS RESOURCE URL, introduzca https://ThingWorx_FQDN:8443/Thingworx/SCIMProvider/SCIM/Groups
* 
Asegúrese de que no haya espacios al final del URL cuando se copie en PingFederate.
c. Defina AUTHENTICATION METHOD en OAUTH 2.0 BEARER TOKEN.
d. Especifique USER como Administrator e introduzca el valor de PASSWORD.
e. Especifique los valores de CLIENT ID y CLIENT SECRET del fichero sso-settings.json.
f. En TOKEN END POINT URL, introduzca https://Host de PingFederate:9031/as/token.oauth2
* 
Asegúrese de que no haya espacios al final del URL.
g. Asegúrese de que las casillas SCIM SP SUPPORTS PATCH UPDATES y PROVISION GROUPS WITH DISTINGUISHED NAME no estén seleccionadas.
h. Defina DEPROVISION METHOD en DELETE USER.
7. En la ficha Custom SCIM Attributes, pulse en Next.
Para obtener más información, consulte Definición de una conexión de SP para SCIM.
Paso 10: Creación de un canal al almacén de datos
1. En la ficha Manage Channels, pulse en Create.
2. Proporcione el valor de CHANNEL NAME.
3. Seleccione ACTIVE DATA STORE como el que se ha creado en el paso 2, es decir, LDAP_ADFS y pulse en Next.
4. En la ficha Source Settings, pulse en Next.
5. En la ficha Source Location, realice lo siguiente y pulse en Next:
a. En el campo BASE DN, escriba cn=users,dc=thingworx,dc=com.
b. En Users, en el campo FILTER, introduzca (&(objectCategory=person)(objectClass=user)(cn=*))
c. En Groups, en el campo FILTER, introduzca (&(objectCategory=group))
6. En la ficha Attribute Mapping, pulse en Next.
7. En la ficha Activation & Summary, defina Channel Status en ACTIVE y pulse en Done.
8. En la ficha Manage Channels, pulse en Done.
9. En la ficha Outbound Provisioning, pulse en Next.
10. Asegúrese de que la conexión de SP esté activa (verde) y pulse en Save.
La conexión de SP se muestra en la página de conexiones de SP.
Para obtener más información, consulte Creación de un canal al almacén de datos.
Paso 11: Adición del atributo binario LDAP
1. Vaya a SYSTEM > Data & Credential Stores > Data Stores.
2. Pulse en el almacén de datos LDAP_ADFS y seleccione la ficha LDAP Configuration.
3. Pulse en Advanced para ver la configuración adicional para el enlace y la configuración.
4. Pulse en la ficha LDAP Binary Attributes y añada un nuevo atributo binario con objectGUID como valor.
5. Pulse en Save.
Parte K: Configuración de Windchill como servidor de recursos 
Paso 1: Requisitos previos
Windchill está configurado para SSL/OAuth 2.0.
Los certificados SSL de ThingWorx y PingFederate se han importado al fichero jssecacerts/ cacerts en el ordenador de Windchill.
Integration Runtime se configura en la instancia de ThingWorx. Para obtener más información, consulte Configuración inicial del servicio Integration Runtime para conectores de integración.
El certificado SSL de Windchill se ha importado al fichero jssecacerts / cacerts en el ordenador de ThingWorx.
El·certificado·SSL·de·Windchill·se·ha·importado·al·fichero·jssecacerts·/·cacerts·en·el·ordenador·de·PingFederate.
Paso 2: Finalización de la configuración del fichero de Windchill OAuth 2.0
Actualice el fichero securityContext.properties disponible en <raíz_instalación_WC>\Windchill\codebase\WEB-INF\security\config:
checkTokenEndpointUrl: FQDN del ordenador de PingFederate.
clientId: ID de cliente de OAuth, por ejemplo, wnc-rp-client.
clientSecret: secreto de cliente de OAuth.
resourceScopes: ámbito de Windchill, por ejemplo, WINDCHILL_READ.
Paso 3: Creación de una conexión de cliente de OAuth para Windchill como servidor de recursos
* 
Se puede recuperar el valor de clientId y clientSecret del fichero securityContext.properties.
Paso 4: Creación de ámbitos de Windchill en PingFederate
1. En PingFederate, en la página System - OAuth Settings, busque la sección Scope Management.
2. En Common Scopes, pulse en Add Common Scope para añadir los mismos ámbitos, por ejemplo, WINDCHILL_READ, que se han añadido para el valor resourceScopes en el fichero securityContext.properties.
3. Pulse en Save.
¿Fue esto útil?