Med Oracle Content Management kan tredjepartsutviklere integrere sine egendefinerte komponenter på Oracle Content Management-plattformen, men få dem lagret på en ekstern tjener.
Hver eksterne komponent må ha registrerte innstillinger og gjengivelsessluttpunkt med Oracle Content Management. I tillegg til sluttpunkter, må utviklere også angi en hemmelig nøkkel som er unik for den registrerte komponenten.
Oracle Content Management anroper den registrerte komponentens sluttpunkter slik at innholdet kan realiseres på en områdeside. Ettersom disse sluttpunktene utsettes for det offentlige Internett, bør utviklere bekrefte at sluttpunktene for en registrert ekstern komponent blir anropt fra Oracle Content Management. Et signert symbol leveres til de registrerte sluttpunktene for en URL-adresse, slik at det blir mulig å bekrefte autentisiteten til anroperen. Den anropende parten autentiseres ved å bekrefte den digitale signaturen som er innebygd i det signerte symbolet med den hemmelige nøkkelen til den eksterne komponenten som ble angitt under registreringsprosessen.
Formatet til symbolet er:
{base64 encoded serialized JSON data}.{base64 encoded signature}
Et eksempelsymbol sendes til den registrerte appens sluttpunkt som følger:
eyJpbnN0YW5jZWlkIjoiQTRGOTE3REY5OTZEN0Q3ODBCMjUzODZFOTFEMDA3ODJGMjVBRjY2Rjc3OTIiLCJzaWduZGF0ZSI6IjE0NDU2MzcwNTk5MTciLCJzaXRlZG9tYWluIjoic2VydmljZTEtdGVuYW50MS51cy5vcmFjbGUuY29tIiwicGVybWlzc2lvbnMiOiJTSVRFX09XTkVSIiwiZW50aXRsZW1lbnRzIjoiIn0=.5p3of7t11OwuysF3zpm+YgICSHH8C/BHczdbVZx2VH8=
Symbolet består av to distinkte deler: data og signatur atskilt med et '.'-skilletegn.
Som en generell retningslinje bør utviklere alltid autentisere symbolet i redigerings- eller forhåndsvisningsmodus før det gis tilgang til registrerte sluttpunkter for en komponent. Under autentiseringen av den anropende parten bør utviklere i tillegg alltid forsikre seg om at det finnes en SITE_OWNER
-verdi i feltet permissions for symbolet. Feltet permissions for symbolet viser SITE_OWNER
-verdien bare i redigeringsmodus. Et symbol som genereres under en redigeringsøkt blir aldri lagt tilbake til sidemodellen som standard, og det byttes ut med et kjøretidssymbol som har en NULL
-verdi i feltet permissions .
Data
Datadelen av forekomsten er en Base64 JSON-kodet streng. Her er strukturen i JSON-strengen:
{ "instanceid": "BBDC7614F693B75110D811E6C0B77C935FAEC5112E5E", "permissions": "", "entitlements": "", "signdate": "1435426735293", "sitedomain": "service1-tenant4.localhost" }
Feltnavn | Beskrivelse |
---|---|
|
Unik identifikator for en komponent for en Oracle Content Management-leier. |
|
Signaturgenereringsdato. |
|
Domenenavnet for Oracle Content Management-forekomsten. |
|
Sett med tillatelser for områdemedlemmet. I redigeringsmodus får det verdien |
|
Liste over premiumfunksjoner kjøpt av områdeeieren. |
Signatur
Datadelen av den eksterne komponentens forekomst serialiseres før den signeres av en APP_SECRET_KEY
. Den hemmelige nøkkelen må genereres og vises til utvikleren under registrering av komponenten. Signaturen beregnes ved å generere en nøkkel av datadelen for komponentforekomsten (en serialisert JSON-struktur) med den hemmelige nøkkelen, som vist her:
$signature = HMAC (serialized JSON structure, APP_SECRET_KEY)
Hash-algoritmen som brukes i genereringen av signaturen, er SHA256. Symbolet er deretter sammenkjedingen av den serialiserte JSON-strukturen og den genererte signaturkomponenten, som vist her:
$instance = {base64encoded serialized JSON structure}.{base64encoded $signature}