ID inštancie a štruktúra pre komponenty vykreslené vo vložených rámoch

ID inštancie komponentu je jednoznačný identifikátor pre komponent vykreslený vo vloženom ráme na lokalite.

Keď používateľ presunie myšou komponent vykreslený vo vloženom ráme z katalógu komponentov na stránku lokality, uskutoční sa volanie poskytovania v službe Oracle Sites Cloud Service na vygenerovanie nového jednoznačného ID inštancie komponentu. Toto ID inštancie je jednoznačné a rovnaké ID inštancie dostanú aj všetky takéto inštancie komponentu poskytnuté v službe.

ID inštancie komponentu obsahuje ďalšie informácie, ktoré možno použiť na zabezpečenie nastavení a použitia komponentu vykresleného vo vloženom ráme. Komponent tak má istotu, že aktualizácia nastavení pochádza z dôveryhodného miesta.

Parameter ID inštancie umožňuje vývojárom identifikovať lokalitu a autentifikovať volajúcu stranu. Volajúci sa autentifikuje overením digitálneho podpisu vygenerovaného pomocou utajeného kľúča komponentu. Utajený kľúč sa vygeneruje počas procesu registrácie komponentu.

Inštancia komponentu sa skladá z dvoch častí, ktoré sú oddelené oddeľovačom ‘.’: dát a štruktúry.

Inštancia komponentu: Dáta

Časť inštancie obsahujúca dáta pre komponent vykreslený vo vloženom ráme je reťazec kódovaný pomocou formátu Base64 JSON. Nižšie je uvedená štruktúra reťazca JSON:

{
  "instanceid": "BBDC7614F693B75110D811E6C0B77C935FAEC5112E5E",
  "permissions": "",
  "entitlements": "",
  "signdate": "1435426735293",
  "sitedomain": "service1-tenant4.localhost"
}
Názov poľa Popis

instanceid

Jednoznačný identifikátor komponentu vykresleného vo vloženom ráme pre nájomcu služby Oracle Content Management.

signdate

Dátum generovania podpisu.

sitedomain

Názov domény inštancie služby Oracle Content Management.

permissions

Množina povolení člena lokality. V režime úprav má hodnotu "SITE_OWNER". V ostatných režimoch neobsahuje žiadnu hodnotu.

entitlements

Zoznam prémiových funkcií zakúpených vlastníkom lokality.

Inštancia komponentu: Podpis

Časť inštancie komponentu obsahujúca dáta sa serializuje pred podpisom pomocou utajeného kľúča APP_SECRET_KEY. Tento utajený kľúč sa musí vygenerovať a ukázať vývojárovi pri registrácii komponentu. Podpis sa vypočíta generovaním hašu dátovej časti inštancie komponentu (serializovaná štruktúra JSON) s utajeným kľúčom, a to takto:

$signature = HMAC (serialized JSON structure, APP_SECRET_KEY)

Algoritmus hašu použitý na generovanie podpisu je SHA256. Token bude predstavovať zreťazenie serializovanej štruktúry JSON a vygenerovaného komponentu podpisu, ako je uvedené nižšie:

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

Príklad:

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