Informace o identifikátoru instance a struktuře pro komponenty generované ve vložených rámcích

Identifikátor instance komponenty je jedinečný identifikátor pro komponentu generovanou ve vloženém rámci na webu.

Když uživatel přetáhne komponentu vykreslenou ve vloženém rámci z katalogu komponent na stránku webu, proběhne poskytovací volání serveru Oracle Sites Cloud Service za účelem generování nového jedinečného identifikátoru instance komponenty. Je zaručena jedinečnost tohoto identifikátoru a všechny takové instance komponenty poskytnuté pro tuto službu získají stejný identifikátor instance.

Identifikátor instance komponenty obsahuje další informace, které lze použít k zabezpečení nastavení a použití komponenty generované ve vloženém rámci, takže komponenta má jistotu, že aktualizace nastavení pochází z důvěryhodného místa.

Parametr identifikátoru instance umožňuje vývojářům identifikovat web a ověřit volající stranu. Volající je ověřen prostřednictvím ověření digitálního podpisu, který je generován pomocí tajného klíče komponenty. Tajný klíč je generován během procesu registrace komponenty.

Instance komponenty se skládá ze dvou částí oddělených oddělovačem „.“: dat a struktury.

Instance komponenty: Data

Datová část instance komponenty generované ve vloženém rámci je řetězec kódovaný ve formátu Base64 JSON. Zde je uvedena struktura řetězce JSON:

{
  "instanceid": "BBDC7614F693B75110D811E6C0B77C935FAEC5112E5E",
  "permissions": "",
  "entitlements": "",
  "signdate": "1435426735293",
  "sitedomain": "service1-tenant4.localhost"
}
Název pole Popis

instanceid

Jedinečný identifikátor komponenty generované ve vloženém rámci pro zákazníka služby Oracle Content Management.

signdate

Datum generování podpisu.

sitedomain

Název domény instance služby Oracle Content Management.

permissions

Sada oprávnění člena webu. V režimu úprav bude mít hodnotu "SITE_OWNER", jinak nebude mít žádnou hodnotu.

entitlements

Seznam prémiových funkcí zakoupených vlastníkem webu.

Instance komponenty: Podpis

Datová část instance komponenty je serializována před podpisem pomocí klíče APP_SECRET_KEY. Tento tajný klíč musí být generován a zobrazen vývojáři při registraci komponenty. Podpis se vypočítá generováním hodnoty hash datové části instance komponenty (serializovaná struktura JSON) pomocí tajného klíče, jak je uvedeno zde:

$signature = HMAC (serialized JSON structure, APP_SECRET_KEY)

Ke generování podpisu je používán algoritmus hash SHA256. Token je vytvořen zřetězením serializované struktury JSON a generované komponenty podpisu, jak je uvedeno zde:

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

Příklad:

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