Configurare ThingWorx come provider di risorse
Configurare il file resourceServerSettings.json
1. Arrestare il server ThingWorx.
2. Creare il file resourceServerSettings.json nella stessa directory di sso-settings.json.
Di seguito viene riportata una struttura di esempio del file 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. Assicurarsi di modificare il valore di ogni parametro in base al requisito specifico. L'implementazione può variare e dipende da diversi fattori, ad esempio dai criteri di protezione dell'organizzazione e dal CAS per l'ambiente federato in uso. Utilizzare le informazioni nelle tabelle riportate di seguito come guida per impostare i valori dei diversi parametri.
4. Avviare il server ThingWorx.
Impostazioni di ResourceServerSettings.accessTokenServicesSettings
Parametro
Descrizione
Valore
tokenUsernameAttribute
Facoltativi: Nome dell'attestazione che contiene il nome utente per la richiesta di risorse.
Valore di default: “unique_name”
tokenPublicKeyUrl
Obbligatorio: l'endpoint della chiave pubblica Microsoft Entra ID (utilizzato per convalidare i token di accesso).
Il valore viene creato come segue:
https://login.microsoftonline.com/<ID tenant Microsoft Entra ID>/discovery/keys?appid=<ID applicazione server risorse ThingWorx>
administratorAlias
Facoltativo.
Obbligatorio solo se si desidera accedere al provider di risorse con l'amministratore ThingWorx.
* 
Se il valore è già configurato nel file sso-settings.json, non è necessario impostarlo qui.
Nome utente dell'amministratore configurato in Microsoft Entra ID.
administratorInternalName
Facoltativi: Nome utente dell'amministratore configurato in ThingWorx.
Administrator
tokenValidationType
Obbligatorio: punto della proprietà del token di accesso (JWT).
local
issuer
Facoltativo: valore dell'autorità emittente per una verifica di convalida aggiuntiva del token.
Il valore dell'autorità emittente presente nell'attestazione ISS del token.
Impostazioni di ResourceServerSettings.globalScopes
Parametro
Descrizione
Valore
globalScopes
Elenco di ambiti globali separati da virgole. Include l'insieme minimo di ambiti necessari per accedere a una risorsa. Se il parametro è vuoto o mancante, viene impostato THINGWORX come ambito globale di default. Non lasciare vuoto questo parametro. Se non è presente alcun ambito dedicato, impostare THINGWORX come valore.
Nel caso di ThingWorx configurato come provider di risorse, si tratta dell'ambito creato al passo 2 di Configurare ThingWorx come provider di risorse.
"globalScopes": "THINGWORX_APP1,THINGWORX_APP2"
Impostazioni di ResourceServerSettings.uriScopes
Parametro
Descrizione
Valore
uri
Serie URI. Definisce la risorsa o il gruppo di risorse per cui sono richiesti ambiti aggiuntivi oltre agli ambiti globali.
Thingworx/Things/** - control all Things
Thingworx/Things/Thing1 – control Thing1
scopes
Elenco delimitato da virgole di ambiti aggiuntivi. Può accedere alla risorsa solo l'utente che dispone di concessioni per tutti gli ambiti elencati (inclusi quelli globali).
method
Facoltativo. Definisce il metodo URI a cui verrà applicato l'ambito.
* 
Se non viene specificata una proprietà di metodo, si presuppone che l'URI specificato sia protetto dall'ambito specificato per tutto il metodo HTTP.
I valori possibili sono tutti i metodi consentiti nel protocollo REST, ad esempio GET o POST.
Se sono definiti ambiti per un URI, per accedere alla risorsa è necessario concedere gli ambiti globali e gli ambiti URI definiti. Se per la risorsa richiesta è applicabile più di una regola URI, per accedere alla risorsa devono essere concessi tutti gli ambiti pertinenti. Per evitare l'accesso alle risorse con restrizioni, aggiungere URIscope a questi endpoint REST con un ambito che non esiste nel server di autorizzazione. Oltre alla protezione, agli ambiti vengono applicati anche permessi specifici di ThingWorx basati sull'utente. Ad esempio, nel caso in cui l'utente A richieda una risorsa con gli ambiti corretti senza disporre del permesso, la richiesta non riesce e genera un errore 403.
File di esempio:
file di esempio
È stato utile?