Etäkomponenttien suojaus

Oracle Content Management tarjoaa kolmannen osapuolen kehittäjille mahdollisuuden integroida omat komponenttinsa Oracle Content Management -alustaan siten, että ne tallennetaan etäpalvelimeen.

Jokaisella etäkomponentilla on oltava rekisteröidyt asetukset ja muodostuksen päätepisteet Oracle Content Management -palvelussa. Loppupisteiden lisäksi kehittäjien on myös toimitettava salainen avain, joka yksilöi rekisteröidyn komponentin.

Oracle Content Management käyttää komponentin sisältöä sivuston sivulla kutsumalla komponentin rekisteröityjä päätepisteitä. Koska nämä päätepisteet ovat käytettävissä julkisen Internetin kautta, kehittäjien on varmistettava, että rekisteröidyn etäkomponentin päätepisteitä kutsutaan Oracle Content Management -palvelusta. URL-osoitteen rekisteröityihin loppupisteisiin toimitetaan allekirjoitettu merkki, jotta kutsujan aitous voidaan varmistaa. Kutsuva osapuoli todennetaan tarkistamalla digitaalinen allekirjoitus, joka on upotettu allekirjoitettuun merkkiin etäkomponentin salaisella avaimella. Salainen avain annettiin rekisteröinnin aikana.

Merkin muoto:

{base64 encoded serialized JSON data}.{base64 encoded signature}

Esimerkki rekisteröityihin sovelluksen loppupisteisiin välitettävästä merkistä:

eyJpbnN0YW5jZWlkIjoiQTRGOTE3REY5OTZEN0Q3ODBCMjUzODZFOTFEMDA3ODJGMjVBRjY2Rjc3OTIiLCJzaWduZGF0ZSI6IjE0NDU2MzcwNTk5MTciLCJzaXRlZG9tYWluIjoic2VydmljZTEtdGVuYW50MS51cy5vcmFjbGUuY29tIiwicGVybWlzc2lvbnMiOiJTSVRFX09XTkVSIiwiZW50aXRsZW1lbnRzIjoiIn0=.5p3of7t11OwuysF3zpm+YgICSHH8C/BHczdbVZx2VH8=

Merkki koostuu kahdesta erillisestä osasta, jotka on erotettu .-erottimella. Osia ovat tiedot ja allekirjoitus.

Yleisenä ohjeena on, että kehittäjien olisi aina todennettava merkki muokkaus- tai esikatselutilassa, ennen kuin he myöntävät käyttöoikeuden komponentin rekisteröityihin loppupisteisiin. Sen lisäksi, että kehittäjät todentavat kutsuvan osapuolen asetusten loppupisteessä, heidän pitäisi aina tarkistaa, onko merkin permissions-kentän arvo SITE_OWNER. Merkin permissions-kentän arvona näytetään SITE_OWNER vain muokkaustilassa. Muokkausistunnon aikana luotua merkkiä ei koskaan tallenneta pysyvästi sivun malliin. Sen tilalle vaihdetaan ajonaikainen merkki, jonka permissions-kentässä on NULL-arvo.

Tiedot

Instanssin tieto-osa on Base64-muotoinen JSON-koodattu merkkijono. JSON-merkkijonon rakenne on seuraava:

{
  "instanceid": "BBDC7614F693B75110D811E6C0B77C935FAEC5112E5E",
  "permissions": "",
  "entitlements": "",
  "signdate": "1435426735293",
  "sitedomain": "service1-tenant4.localhost"
}
Kentän nimi Kuvaus

instanceid

Komponentin yksilöivä tunniste Oracle Content Management -asiakkaalle.

signdate

Allekirjoituksen luontipäivämäärä.

sitedomain

Oracle Content Management -instanssin toimialueen nimi.

permissions

Sivuston jäsenen oikeusjoukko. Muokkaustilassa sen arvo on "SITE_OWNER". Muissa tapauksissa sillä ei ole arvoa.

entitlements

Sivuston omistajan ostamien maksullisten ominaisuuksien lista.

Allekirjoitus

Etäkomponentti-instanssin tieto-osa sarjoitetaan, ennen kuin se allekirjoitetaan APP_SECRET_KEY-avaimella. Tämä salainen avain on luotava ja näytettävä kehittäjälle, kun komponentti rekisteröidään. Allekirjoitus lasketaan luomalla komponentti-instanssin tieto-osan (sarjoitettu JSON-rakenne) hajautusarvo salaista avainta käyttämällä. Esimerkki:

$signature = HMAC (serialized JSON structure, APP_SECRET_KEY)

Allekirjoituksen luontiin käytetään SHA256-hajautusalgoritmia. Merkki on siis sarjoitetun rakenteen ja luodun allekirjoituskomponentin yhdistelmä, kuten alla näytetään:

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