Acerca de la estructura y el identificador de instancia para componentes representados en marcos en línea

El identificador de instancia de componente es un identificador único de un componente representado en un marco en línea de un sitio.

Cuando un usuario arrastra y suelta un componente representado en un marco en línea desde el catálogo de componentes a una página del sitio, se realiza una llamada de aprovisionamiento a Oracle Sites Cloud Service para generar un identificador de instancia de componente único. Se garantiza que este identificador es único y que todas las instancias del componente provisionadas en ese servicio obtendrán el mismo identificador de instancia.

Un identificador de instancia de componente contiene información adicional que se puede utilizar para proteger la configuración y el uso de un componente representado en un marco en línea, de manera que el componente pueda estar seguro de que la actualización de la configuración procede de un lugar de confianza.

El parámetro de identificador de instancia permite a los desarrolladores identificar el sitio y autenticar a la parte que realiza la llamada. Se autentica al emisor de llamada verificando una firma digital que se genera utilizando la clave secreta del componente. La clave secreta se genera durante el proceso de registro del componente.

La instancia de componente consta de dos partes separadas por un delimitador ".": datos y estructura.

Instancia de componente: datos

La parte de datos de la instancia de un componente representado en un marco en línea es una cadena codificada JSON Base64. A continuación se muestra la estructura de la cadena JSON:

{
  "instanceid": "BBDC7614F693B75110D811E6C0B77C935FAEC5112E5E",
  "permissions": "",
  "entitlements": "",
  "signdate": "1435426735293",
  "sitedomain": "service1-tenant4.localhost"
}
Nombre de campo Descripción

instanceid

Identificador único de un componente representado en un marco en línea para un inquilino de Oracle Content Management.

signdate

Fecha de generación de la firma.

sitedomain

Nombre del dominio de la instancia de Oracle Content Management.

permissions

Juego de permisos del miembro del sitio. En el modo de edición, tendrá el valor "SITE_OWNER"; de lo contrario, no tendrá ningún valor.

entitlements

Lista de funciones adicionales compradas por el propietario del sitio.

Instancia de componente: firma

La parte de datos de la instancia de componente se serializa antes de que la firme una APP_SECRET_KEY. Esta clave secreta se debe generar y mostrar al desarrollador mientras se registra el componente. La firma se calcula generando un hash de la porción de datos de la instancia de componente (una estructura JSON serializada) con la clave secreta, como se muestra a continuación:

$signature = HMAC (serialized JSON structure, APP_SECRET_KEY)

El algoritmo hash que se utiliza para generar la firma es SHA256. El token es, por tanto, la concatenación de la estructura JSON serializada y el componente de firma generado, como se muestra a continuación:

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

Ejemplo:

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