關於內嵌框架中呈現之元件的執行處理 ID 和結構

元件執行處理 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 租用戶的內嵌框架中呈現之元件的唯一 ID。

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=