リソースプロバイダとしての ThingWorx の設定
resourceServerSettings.json ファイルの設定
1. ThingWorx サーバーを停止します。
2. sso-settings.json と同じディレクトリに resourceServerSettings.json ファイルを作成します。
以下は、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. 要件に合わせて各パラメータの値を編集するようにしてください。実装は、組織のセキュリティポリシー、フェデレーションの CAS など、いくつかの要因によって異なる場合があります。次のテーブルに示す情報をガイダンスとして使用して、さまざまなパラメータの値を設定します。
4. ThingWorx サーバーを起動します。
次のテーブルに ResourceServerSettings.accessTokenServicesSettings の設定を示します。
パラメータ
説明
tokenUsernameAttribute
オプション: リソースリクエストのユーザー名を格納するクレーム名。
デフォルト値 "unique_name"
tokenPublicKeyUrl
必須: Azure AD B2C の公開キーのエンドポイント (jwks_uri)
値は次のように構成されます: https://infracbsb2c.b2clogin.com/infracbsb2c.onmicrosoft.com/{ユーザーフロー名}/discovery/v2.0/keys
administratorAlias
オプション。
ThingWorx 管理者として RP にアクセスする場合にのみ必須です。
* 
sso-settings.json ファイルですでに設定されている場合、ここで値を設定する必要はありません。
Azure AD B2C で設定されている管理者のユーザー名。
administratorInternalName
オプション: ThingWorx で設定されている管理者のユーザー名。
Administrator
tokenValidationType
必須: アクセストークン (JWT) のプロパティポイント。
local
issuer
オプション: 追加のトークン検証チェック用の Issuer 値
トークンの ISS クレームに表示される Issuer 値。
次のテーブルに ResourceServerSettings.globalScopes の設定を示します。
パラメータ
説明
globalScopes
グローバルスコープのコンマ区切りリスト。リソースにアクセスするために必要なスコープの最小セットを含めます。このパラメータが欠落しているか、空の場合、THINGWORX がデフォルトのグローバルスコープとして設定されます。このパラメータを空のままにしないでください。専用のスコープがない場合は、THINGWORX を値として設定します。
リソースサーバーとしての ThingWorx のコンフィギュレーションでは、「リソースサーバーとしての ThingWorx の設定」の手順 2 で作成されたスコープです。
"globalScopes":
"THINGWORX_APP1,THINGWORX_APP2"
次のテーブルに ResourceServerSettings.uriScopes の設定を示します。
パラメータ
説明
uri
URI パターン
グローバルスコープへの追加のスコープを必要とするリソースまたはリソースグループを定義します。
Thingworx/Things/** - control all Things
Thingworx/Things/Thing1 – control Thing1
scopes
追加のスコープのコンマ区切りリスト。
リストされているすべてのスコープ (グローバルを含む) への許可を持つユーザーだけがリソースを取得できます。
method
オプション: スコープが適用される URI メソッドを定義します。
* 
method プロパティが指定されていない場合、指定されている URI はすべての HTML メソッドでそのスコープによって保護されるものと見なされます。
REST プロトコルで使用可能なすべてのメソッド (GET や POST など) を値として指定できます。
URI に定義されているスコープがある場合、グローバルスコープおよび定義されている URI スコープで、そのリソースへのアクセスが許可されなければなりません。リクエストされたリソースに適用可能な URI 規則が複数存在する場合、関連するすべてのスコープでそのリソースへのアクセスが許可されなければなりません。制限されているリソースへのアクセスを防止するため、これらの REST エンドポイントに、認証サーバーに存在しない URI スコープを追加します。ThingWorx には、スコープ保護に加え、スコープとともに適用される独自のユーザーベースのアクセス許可があります。たとえば、ユーザー A が正しいスコープでリソースをリクエストしたがアクセス許可がない場合、そのリクエストは 403 エラーで失敗します。
ファイルの例
これは役に立ちましたか?