De instance-ID en structuur voor componenten die worden weergegeven in inline-frames

De componentinstance-ID is de unieke ID voor een component die wordt weergegeven in een inline-frame binnen een site.

Wanneer een gebruiker een component die in een inline-frame wordt weergegeven vanuit de componentcatalogus sleept en op een sitepagina neerzet, wordt een initialisatie-aanroep naar de Oracle Sites Cloud Service uitgevoerd om een nieuwe unieke componentinstance-ID te genereren. Deze ID is gegarandeerd uniek en alle dergelijke componentinstances die worden geïnitialiseerd in die service krijgen dezelfde instance-ID.

Een componentinstance-ID bevat aanvullende gegevens die kunnen worden gebruikt om de instellingen en het gebruik te beveiligen van een component die wordt weergegeven in een inline-frame, zodat zeker is dat de instellingenupdate afkomstig is van een betrouwbare locatie.

Met de instance-ID-parameter kunnen ontwikkelaars de site identificeren en de aanroepende partij verifiëren. De aanroeper wordt geverifieerd door een digitale handtekening te verifiëren die wordt gegenereerd met de geheime sleutel van de component. De geheime sleutel wordt gegenereerd tijdens het registratieproces van de component.

De componentinstance bestaat uit twee delen, gescheiden door een scheidingsteken ‘.’: gegevens en structuur.

Componentinstance: gegevens

Het gegevensgedeelte van de instance voor een component die wordt weergegeven in een inline-frame is een Base64 JSON gecodeerde string. Dit is de structuur van de JSON-string:

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

instanceid

Unieke ID van een component die in een inline-frame wordt weergegeven voor een Oracle Content Management tenant

signdate

Datum van genereren handtekening

sitedomain

Domeinnaam van de Oracle Content Management instance.

permissions

Set rechten van het sitelid In bewerkmodus heeft deze de waarde "SITE_OWNER"; in een andere modus heeft deze geen waarde.

entitlements

Lijst met extra functies die door de site-eigenaar zijn aangeschaft

Componentinstance: handtekening

Het gegevensgedeelte van de componentinstance wordt geserialiseerd voordat het wordt ondertekend met een APP_SECRET_KEY. Deze geheime sleutel moet worden gegenereerd en aan de ontwikkelaar worden getoond bij het registreren van de component. De handtekening wordt berekend door een hash van het gegevensgedeelte van de componentinstance te genereren (een geserialiseerde JSON-structuur) met de geheime sleutel, zoals hier wordt getoond:

$signature = HMAC (serialized JSON structure, APP_SECRET_KEY)

Het hashalgoritme dat bij het genereren van de handtekening wordt gebruikt, is SHA256. Het token is vervolgens de aaneenschakeling van de geserialiseerde JSON-structuur en de gegenereerde handtekeningcomponent, zoals hier wordt getoond:

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

Voorbeeld:

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