Om instans-ID'et og strukturen for komponenter, der er gengivet i inline-rammer

Komponentinstans-ID'et er den entydige identifikator for en komponent, der gengives i en inline-ramme på et site.

Når en bruger trækker og slipper en komponent, der gengives i en inline-ramme, fra komponentkataloget til en siteside, foretages der et provisioneringskald til tjenesten Oracle Sites Cloud for at generere et nyt entydigt komponentinstans-ID. Dette ID er garanteret entydigt, og alle sådanne komponentinstanser, der er provisioneret i den pågældende tjeneste, får det samme instans-ID.

Et komponentinstans-ID indeholder yderligere oplysninger, der kan bruges til at sikre indstillingerne for og brugen af en komponent, som gengives i en inline-ramme, så komponenten kan være sikker på, at opdateringen af indstillinger kommer fra et sikkert sted.

Instans-ID-parameteren gør det muligt for udviklere at identificere sitet og autentificere den kaldende part. Kalderen autentificeres via verificeringen af en digital signatur, der genereres ved hjælp af den hemmelige komponentnøgle. Den hemmelige nøgle genereres under komponentregistreringsprocessen.

Komponentinstansen består af to dele, der er adskilt af separatoren ‘.’: data og struktur.

Komponentinstans: Data

Datadelen af instansen for en komponent, der gengives i en inlineramme, er en Base64 JSON-kodet streng. Her er JSON-strengens struktur:

{
  "instanceid": "BBDC7614F693B75110D811E6C0B77C935FAEC5112E5E",
  "permissions": "",
  "entitlements": "",
  "signdate": "1435426735293",
  "sitedomain": "service1-tenant4.localhost"
}
Feltnavn Beskrivelse

instanceid

Entydig identifikator for en komponent, der gengives i en inline-ramme for en Oracle Content Management-lejer.

signdate

Dato for signaturgenerering.

sitedomain

Oracle Content Management-instansens domænenavn.

permissions

Tilladelsessæt for sitemedlemmet. I redigeringstilstand indeholder det værdien "SITE_OWNER", og ellers indeholder det ingen værdi.

entitlements

Liste over premium-funktioner, der er købt af siteejeren.

Komponentinstans: Signatur

Datadelen af komponentinstansen serialiseres, før den signeres af en APP_SECRET_KEY. Den hemmelige nøgle skal genereres og vises til udvikleren under registrering af komponenten. Signaturen beregnes ved at generere en hash-værdi for datadelen af komponentinstansen (en serialiseret JSON-struktur) med den hemmelige nøgle som vist her:

$signature = HMAC (serialized JSON structure, APP_SECRET_KEY)

Den hash-algoritme, der bruges til generering af signaturen, er SHA256. Tokenet bliver dermed sammensætningen af den serialiserede JSON-struktur og den genererede signaturkomponent som vist her:

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

Eksempel:

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