Configuration de ThingWorx en tant que fournisseur de ressources
Configuration du fichier resourceServerSettings.json
1. Arrêtez le serveur ThingWorx.
2. Créez le fichier resourceServerSettings.json dans le même répertoire que sso-settings.json.
Voici un exemple de structure du fichier 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. Assurez-vous de modifier la valeur de chaque paramètre par rapport à vos besoins. Votre implémentation peut varier en fonction de plusieurs facteurs, tels que les politiques de sécurité de votre organisation ou encore le serveur d'autorisation central (CAS) de votre fédération. Les tables suivantes vous aideront à définir la valeur de chaque paramètre.
4. Démarrez le serveur ThingWorx.
Paramètres ResourceServerSettings.accessTokenServicesSettings
Paramètre
Description
Valeur
tokenUsernameAttribute
Eléments facultatifs : Nom de la revendication qui contient le nom d'utilisateur de la demande de ressource.
Valeur par défaut : “unique_name”
tokenPublicKeyUrl
Eléments obligatoires : Point de terminaison de clé publique Microsoft Entra ID (utilisé pour valider les jetons d'accès).
La valeur est structurée comme suit :
https://login.microsoftonline.com/<ID de locataire Microsoft Entra ID>/discovery/keys?appid=<ID de l'application de serveur de ressources ThingWorx>
administratorAlias
Facultatif.
Obligatoire uniquement si vous souhaitez accéder au fournisseur de ressources en tant qu'administrateur ThingWorx.
* 
Si elle est déjà configurée dans le fichier sso-settings.json, il n'est pas nécessaire de définir la valeur ici.
Nom d'utilisateur de l'administrateur tel qu'il est configuré dans Microsoft ID Entra.
administratorInternalName
Eléments facultatifs : Nom d'utilisateur de l'administrateur tel qu'il est configuré dans ThingWorx.
Administrator
tokenValidationType
Eléments obligatoires : Point de propriété du jeton d'accès (JWT).
local
issuer
Eléments facultatifs : Valeur de l'émetteur pour le contrôle de validation du jeton supplémentaire.
Valeur de l'émetteur telle qu'elle apparaît dans la demande ISS du jeton.
Paramètres ResourceServerSettings.globalScopes
Paramètre
Description
Valeur
globalScopes
Liste des étendues globales séparées par une virgule. Définit le jeu minimal d'étendues requis pour accéder à n'importe quelle ressource. Si ce paramètre est manquant ou vide, THINGWORX est défini en tant qu'étendue globale par défaut. Veillez à renseigner la valeur de ce paramètre. En l'absence d'étendue dédiée, définissez THINGWORX comme valeur.
Dans le cas de ThingWorx en tant que configuration de serveur de ressources, il s'agit de l'étendue créée à l'étape 2 de la rubrique Configuration de ThingWorx en tant que serveur de ressources.
"globalScopes": "THINGWORX_APP1,THINGWORX_APP2"
Paramètres ResourceServerSettings.uriScopes
Paramètre
Description
Valeur
uri
Modèle d'URI. Définit la ressource ou le groupe de ressources nécessitant des étendues supplémentaires par rapport à la ou aux étendues globales.
Thingworx/Things/** - control all Things
Thingworx/Things/Thing1 – control Thing1
scopes
Liste des étendues supplémentaires séparées par une virgule. Seul un utilisateur possédant les droits requis pour toutes les étendues répertoriées (y compris globales) est autorisé à obtenir la ressource.
method
Facultatif. Définit la méthode d'URI à laquelle l'étendue sera appliquée.
* 
Si aucune propriété de méthode n'est fournie, il est supposé que l'URI spécifié est protégé par l'étendue donnée pour toutes les méthodes HTTP.
Les valeurs possibles sont toutes les méthodes autorisées dans le protocole REST, telles que GET ou POST.
Si des étendues sont définies pour un URI, alors les étendues globales ainsi que les étendues d'URI définies doivent être autorisées à accéder à la ressource. Si plus d'une règle URI est applicable à la ressource demandée, toutes les étendues appropriées doivent être autorisées à accéder à cette ressource. Pour éviter les accès à des ressources restreintes, ajoutez une URIscope à ces points de terminaison REST en spécifiant une étendue qui n'existe pas sur le serveur d'autorisation. Outre la protection par le mécanisme des étendues, ThingWorx applique ses propres autorisations définies au niveau utilisateur au-dessus des étendues. Par exemple, si un utilisateur A demande une ressource avec les étendues correctes, mais qu'il ne dispose pas des autorisations appropriées, la requête échouera avec une erreur 403.
Exemple de fichier :
exemple de fichier
Est-ce que cela a été utile ?