인라인 프레임으로 렌더링된 구성요소에 대한 인스턴스 ID 및 구조 정보

구성요소 인스턴스 ID는 사이트 내에 인라인 프레임으로 렌더링된 구성요소의 고유 식별자입니다.

사용자가 인라인 프레임으로 렌더링된 구성요소를 구성요소 카탈로그에서 사이트 페이지 위에 끌어 놓으면 Oracle Sites Cloud Service에 프로비전 호출을 발생시켜 새로운 고유 구성요소 인스턴스 ID를 생성합니다. 이 ID는 고유한 것으로 보장되며 해당 서비스에 프로비전된 모든 구성요소 인스턴스는 동일한 인스턴스 ID를 얻습니다.

구성요소 인스턴스 ID에는 인라인 프레임으로 렌더링된 구성요소의 사용 및 설정을 보안할 수 있는 추가 정보가 있어서 구성요소는 설정 업데이트가 신뢰된 곳에서 온다고 확신할 수 있습니다.

인스턴스 ID 매개변수를 통해 개발자는 사이트를 식별하고 발신자를 인증할 수 있습니다. 구성요소 보안 키를 사용하여 생성된 디지털 서명을 확인하여 호출자가 인증됩니다. 보안 키는 구성요소 등록 프로세스 중에 생성됩니다.

구성요소 인스턴스는 ‘.’ 구분자로 분리된 두 부분(데이터 및 구조)으로 구성됩니다.

구성요소 인스턴스: 데이터

인라인 프레임으로 렌더링된 구성요소에 대한 인스턴스의 데이터 부분은 Base64 JSON 인코딩 문자열입니다. 다음은 JSON 문자열의 구조입니다.

{
  "instanceid": "BBDC7614F693B75110D811E6C0B77C935FAEC5112E5E",
  "permissions": "",
  "entitlements": "",
  "signdate": "1435426735293",
  "sitedomain": "service1-tenant4.localhost"
}
필드 이름 설명

instanceid

Oracle Content Management 테넌트에서 인라인 프레임으로 렌더링된 구성요소의 고유 식별자입니다.

signdate

서명 생성 날짜입니다.

sitedomain

Oracle Content Management 인스턴스의 도메인 이름입니다.

permissions

사이트 멤버의 권한 집합입니다. 편집 모드에서 "SITE_OWNER" 값을 갖고, 그렇지 않으면 값이 없습니다.

entitlements

사이트 소유자가 구매한 프리미엄 기능 목록입니다.

구성요소 인스턴스: 서명

구성요소 인스턴스의 데이터 부분은 APP_SECRET_KEY에 의해 서명되기 전에 직렬화됩니다. 이 보안 키는 구성요소를 등록하는 동안 생성되어 개발자에게 표시되어야 합니다. 다음과 같이 보안 키로 구성요소 인스턴스의 데이터 부분(직렬화된 JSON 구조)의 해시를 생성하여 서명이 계산됩니다.

$signature = HMAC (serialized JSON structure, APP_SECRET_KEY)

서명 생성에 사용된 해시 알고리즘은 SHA256입니다. 다음과 같이 직렬화된 JSON 구조와 생성된 서명 구성요소가 연결되어 토큰이 형성됩니다.

$instance = {base64encoded serialized JSON structure}.{base64encoded $signature}

예제:

//base64 encoded serialized object           //signature
eyJpbnN0YW5jZWlkIjoiQTRGOTE3REY5OTZEN0Q3ODBCMjUzODZFOTFEMDA3ODJGMjVBRjY2Rjc3OTIiLCJzaWduZGF0ZSI6IjE0NDU2MzcwNTk5MTciLCJzaXRlZG9tYWluIjoic2VydmljZTEtdGVuYW50MS51cy5vcmFjbGUuY29tIiwicGVybWlzc2lvbnMiOiJTSVRFX09XTkVSIiwiZW50aXRsZW1lbnRzIjoiIn0=.5p3of7t11OwuysF3zpm+YgICSHH8C/BHczdbVZx2VH8=