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
선택 사항: 추가 토큰 유효성 검사에 대한 발급자 값입니다.
토큰의 ISS 클레임에 나타나는 발급자 값입니다.
다음 표에는 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
추가 범위의 쉼표로 구분된 목록입니다.
나열된 모든 범위(전역 포함)에 대한 권한을 가진 사용자만 리소스를 볼 수 있습니다.
방법
선택 사항: 범위가 적용될 URI 메소드를 정의합니다.
* 
메소드 속성이 제공되지 않으면 지정된 URI가 모든 HTTP 메소드에 대해 지정된 범위로 보호된다고 가정합니다.
가능한 값은 REST 프로토콜에서 사용할 수 있는 메소드(예: GET 또는 POST)입니다.
URI에 대해 정의된 범위가 있는 경우 전역 범위와 정의된 URI 범위를 부여해야 해당 리소스에 액세스할 수 있습니다. 요청된 리소스에 적용할 수 있는 URI 규칙이 두 개 이상일 경우 해당 리소스에 액세스하려면 모든 관련 범위를 부여해야 합니다. 제한된 리소스에 액세스하지 않으려면 승인 서버에 없는 범위를 사용하여 이러한 REST 끝점에 URIscope를 추가합니다. 범위 보호 외에 ThingWorx에는 범위 위에도 적용될 고유한 사용자 기반 권한도 있습니다. 예를 들어, 사용자 A가 올바른 범위로 리소스를 요청하지만 권한이 없는 경우 403 오류와 함께 요청이 실패합니다.
예제 파일
도움이 되셨나요?