Configuración de ThingWorx como proveedor de recursos
Configuración del fichero resourceServerSettings.json
1. Detenga el servidor ThingWorx.
2. Cree el fichero resourceServerSettings.json en el mismo directorio que sso-settings.json.
A continuación, se muestra una estructura de ejemplo del fichero resourceServerSettings.json:
{
"ResourceServerSettings": {
"accessTokenServicesSettings": {
"tokenUsernameAttribute": "See information in the table below",
"tokenPublicKeyUrl": "See information in the table below",
"administratorAlias": "See information in the table below",
"administratorInternalName": "Administrator",
"issuer": "See information in the table below",
"tokenValidationType": "local"
},
"globalScopes": "See information in the table below",
"uriScopes": [
{
"uri": "See information in the table below",
"scopes": "See information in the table below",
"method": "See information in the table below"
}
]
}
}
3. El usuario debe asegurarse de editar el valor de cada parámetro según sus requisitos. La implementación puede variar y depende de varios factores, como 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.
4. Inicie el servidor de ThingWorx.
Configuración de ResourceServerSettings.accessTokenServicesSettings
Parámetro
Descripción
Value
tokenUsernameAttribute
Opcional: Nombre de la notificación que contiene el nombre de usuario de la solicitud de recursos.
Valor por defecto: “unique_name”
tokenPublicKeyUrl
Obligatorio: el extremo de clave pública de Microsoft Entra ID (se utiliza para validar los tokens de acceso).
El valor se construye de la siguiente manera:
https://login.microsoftonline.com/<ID de inquilino de Microsoft Entra ID>/discovery/keys?appid=<ID de aplicación de la aplicación del servidor de recursos de ThingWorx>
administratorAlias
Opcional.
Obligatorio solo si desea acceder al RP con el administrador de ThingWorx.
* 
Si ya está configurado en el fichero sso-settings.json, no es necesario establecer el valor aquí.
El nombre de usuario de administrador tal como está configurado en Microsoft Entra ID.
administratorInternalName
Opcional: El nombre de usuario del administrador tal como está configurado en ThingWorx.
Administrator
tokenValidationType
Obligatorio: el punto de propiedad del token de acceso (JWT).
local
issuer
Opcional: valor de emisor para la verificación de validación adicional de token.
El valor del emisor, tal como aparece en la concesión ISS en el token.
Configuración de ResourceServerSettings.globalScopes
Parámetro
Descripción
Value
globalScopes
Lista de ámbitos globales separados por comas. Se incluye el conjunto mínimo de ámbitos necesarios para acceder a cualquier recurso. Si falta este parámetro o está vacío, THINGWORX se define como un ámbito global por defecto. Este parámetro no se debe dejar vacío. Si no hay ningún ámbito dedicado, defina THINGWORX como un valor.
En el caso de la configuración de ThingWorx como el servidor de recursos, es el ámbito que se ha creado en el paso 2 de Configuración de ThingWorx como servidor de recursos.
"globalScopes": "THINGWORX_APP1,THINGWORX_APP2"
Configuración de ResourceServerSettings.uriScopes
Parámetro
Descripción
Value
uri
Patrón de URI. Permite definir el recurso o el grupo de recursos que requiere ámbitos adicionales en los ámbitos globales.
Thingworx/Things/** - control all Things
Thingworx/Things/Thing1 – control Thing1
scopes
Lista de ámbitos adicionales delimitados por comas. Solo el usuario que tiene concedidos todos los ámbitos enumerados (incluido el global) tiene permiso para obtener recursos.
method
Opcional. Permite definir el método de URI al que se aplicará el ámbito.
* 
Si no se proporciona una propiedad de método, se presupone que el ámbito dado protege el URI especificado para todos los métodos HTTP.
Los valores posibles son los métodos permitidos en el protocolo de REST, como GET o POST.
Si hay ámbitos definidos para un URI, se deben conceder los ámbitos globales además de los ámbitos de URI definidos para acceder al recurso. Si existe más de una regla de URI aplicable para el recurso solicitado, se deben conceder todos los ámbitos pertinentes para acceder al recurso. Para evitar el acceso a recursos restringidos, añada URIscope a estos extremos de REST con un ámbito que no exista en el servidor de autorización. Además de la protección de ámbito, ThingWorx tiene sus propios permisos basados en el usuario que también se aplicarán además de los ámbitos. Por ejemplo, en un caso en el que el usuario A solicita un recurso con los ámbitos correctos pero que no tiene permiso, la solicitud falla con un error 403.
Fichero de ejemplo:
Fichero de ejemplo
¿Fue esto útil?