Om instans-id:t och strukturen för komponenter som återges i iframes

Komponentens instans-id är den unika identifieraren för en komponent som återges i en iframe på en webbplats.

När en användare drar och släpper en komponent som återges i en iframe från komponentkatalogen till en webbplatssida görs ett tilldelningsanrop till Oracles molntjänst för webbplatser för att generera ett nytt unikt komponentinstans-id. Detta id är garanterat unikt och alla sådana komponentinstanser som tilldelas den tjänsten får samma instans-id.

Ett komponentinstans-id innehåller ytterligare information som kan användas för att skydda inställningarna för och användningen av en komponent som återges i en iframe, så att komponenten kan vara säker på att inställningsuppdateringen kommer från en betrodd plats.

Tack vare instans-id-parametern kan utvecklare identifiera webbplatsen och autentisera den anropande parten. Anroparen autentiseras genom verifiering av en digital signatur som genereras med hjälp av komponentens hemliga nyckel. Den hemliga nyckeln genereras under processen för komponentregistrering.

Komponentinstansen består av två delar avgränsade med ".": data och struktur.

Komponentinstans: Data

Datadelen av instansen för en komponent som återges i en iframe är en Base64-JSON-kodad sträng. Här är JSON-strängens struktur:

{
  "instanceid": "BBDC7614F693B75110D811E6C0B77C935FAEC5112E5E",
  "permissions": "",
  "entitlements": "",
  "signdate": "1435426735293",
  "sitedomain": "service1-tenant4.localhost"
}
Namn på fält Beskrivning

instanceid

Unik identifierare för en komponent som återges i en iframe för en klient i Oracle Content Management.

signdate

Datum då signatur genererades.

sitedomain

Domännamnet på Oracle Content Management-instansen.

permissions

Uppsättning behörigheter för webbplatsmedlemmen. I redigeringsläge har den värdet "SITE_OWNER". I annat fall har den inget värde.

entitlements

Lista över premiumfunktioner som köpts av webbplatsens ägare.

Komponentinstans: Signatur

Datadelen av komponentinstansen serialiseras innan den signeras med en APP_SECRET_KEY. Den här hemliga nyckeln måste genereras och visas för utvecklaren under registreringen av komponenten. Signaturen beräknas genom generering av en hash av komponentinstansens datadel (en serialiserad JSON-struktur) med den hemliga nyckeln, på följande sätt:

$signature = HMAC (serialized JSON structure, APP_SECRET_KEY)

Den hashalgoritm som används för att generera signaturen är SHA256. Token är då sammanfogningen av den serialiserade JSON-strukturen och den genererade signaturkomponenten, enligt följande:

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

Exempel:

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