Služba Oracle Content Management umožňuje vývojářům třetích stran integrovat vlastní komponenty do platformy Oracle Content Management, ale ponechat je uložené na vzdáleném serveru.
Každá vzdálená komponenta musí mít nastavení a generovací koncové body registrované službou Oracle Content Management. Kromě koncových bodů musí vývojáři také poskytnout jedinečný tajný klíč pro registrovanou komponentu.
Služba Oracle Content Management vyvolává koncové body registrované komponenty za účelem realizace obsahu na stránce webu. Vzhledem k tomu, že jsou tyto koncové body vystaveny veřejnému internetu, vývojáři musí ověřit, že jsou koncové body registrované vzdálené komponenty skutečně vyvolávány ze služby Oracle Content Management. Pro ověření hodnověrnosti volajícího je do registrovaných koncových bodů adresy URL doručen podepsaný token. Volající strana je ověřena na základě digitálního podpisu vloženého do podepsaného tokenu pomocí tajného klíče vzdálené komponenty, který byl poskytnut během registračního procesu.
Token má následující formát:
{base64 encoded serialized JSON data}.{base64 encoded signature}
Následuje ukázkový token předaný registrovaným koncovým bodům aplikace:
eyJpbnN0YW5jZWlkIjoiQTRGOTE3REY5OTZEN0Q3ODBCMjUzODZFOTFEMDA3ODJGMjVBRjY2Rjc3OTIiLCJzaWduZGF0ZSI6IjE0NDU2MzcwNTk5MTciLCJzaXRlZG9tYWluIjoic2VydmljZTEtdGVuYW50MS51cy5vcmFjbGUuY29tIiwicGVybWlzc2lvbnMiOiJTSVRFX09XTkVSIiwiZW50aXRsZW1lbnRzIjoiIn0=.5p3of7t11OwuysF3zpm+YgICSHH8C/BHczdbVZx2VH8=
Token se skládá ze dvou odlišných částí, dat a podpisu, vzájemně oddělených oddělovačem „.“ (tečka).
Podle obecných pravidel by vývojáři měli vždy ověřit token v režimu úprav nebo náhledu, než udělí přístup k registrovaným koncovým bodům komponenty. Navíc při ověřování volající strany v koncovém bodu nastavení by vývojáři neměli nikdy zapomenout na vyhledání hodnoty SITE_OWNER
v poli oprávnění tokenu. Pole oprávnění tokenu zobrazuje hodnotu SITE_OWNER
jen v režimu úprav. Token generovaný během relace úprav nikdy nepřetrvá přechod zpět do modelu stránky a je vypnut pomocí běhového tokenu, který má hodnotu NULL
v poli oprávnění.
Data
Datová část instance 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 |
---|---|
|
Jedinečný identifikátor komponenty pro zákazníka služby Oracle Content Management. |
|
Datum generování podpisu. |
|
Název domény instance služby Oracle Content Management. |
|
Sada oprávnění člena webu. V režimu úprav bude mít hodnotu |
|
Seznam prémiových funkcí zakoupených vlastníkem webu. |
Podpis
Datová část instance vzdálené 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}