Acerca da ID da Instância e Estrutura para Componentes Renderizados em Molduras Inline

A ID da Instância do componente é o identificador exclusivo de um componente renderizado numa moldura inline num site.

Quando um utilizador arrasta e larga um componente apresentado numa moldura inline do Catálogo de Componentes para uma página do site, é efetuada uma chamada de provisão ao Oracle Sites Cloud Service para gerar uma nova ID da instância do componente exclusiva. A exclusividade desta ID é garantida e todas estas instâncias do componente provisionadas nesse serviço irão obter a mesma ID da instância.

Uma ID da instância do componente contém informações adicionais que podem ser utilizadas para tornar seguras as definições e a utilização de um componente renderizado numa moldura inline, para que o componente possa ter a certeza de que a atualização das Definições provém de um local fidedigno.

O parâmetro da ID da instância permite aos programadores identificar o site e autenticar a entidade chamadora. O chamador é autenticado através da verificação de uma assinatura digital que é gerada utilizando a chave secreta do componente. A chave secreta é gerada durante o processo de registo do componente.

A instância do componente é composta por duas partes separadas por um delimitador '.': dados e estrutura.

Instância do Componente: Dados

A parte de dados da instância de um componente renderizado numa moldura inline é uma cadeia de caracteres com codificação Base64 JSON. Segue-se a estrutura da cadeia de caracteres de JSON:

{
  "instanceid": "BBDC7614F693B75110D811E6C0B77C935FAEC5112E5E",
  "permissions": "",
  "entitlements": "",
  "signdate": "1435426735293",
  "sitedomain": "service1-tenant4.localhost"
}
Nome do Campo Descrição

instanceid

Identificador exclusivo de um componente renderizado numa moldura inline para um tenant do Oracle Content Management.

signdate

Data de geração da assinatura.

sitedomain

Nome do domínio da instância do Oracle Content Management.

permissions

Conjunto de permissões do membro do site. No modo de edição, terá o valor "SITE_OWNER"; caso contrário, não terá nenhum valor.

entitlements

Lista de funcionalidades premium adquiridas pelo proprietário do site.

Instância do Componente: Assinatura

A parte de dados da instância do componente é sequenciada antes de ser assinada por APP_SECRET_KEY. Esta chave secreta deve ser gerada e mostrada ao programador ao registar o componente. A assinatura é calculada gerando um hash da parte de dados da instância do componente (uma estrutura JSON sequenciada) com a chave secreta conforme mostrado aqui:

$signature = HMAC (serialized JSON structure, APP_SECRET_KEY)

O algoritmo hash utilizado na geração da assinatura é SHA256. O token é então a concatenação da estrutura JSON sequenciada e do componente de assinatura gerado conforme mostrado aqui:

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

Exemplo:

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