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 |
---|---|
|
Identificador exclusivo de um componente renderizado numa moldura inline para um tenant do Oracle Content Management. |
|
Data de geração da assinatura. |
|
Nome do domínio da instância do Oracle Content Management. |
|
Conjunto de permissões do membro do site. No modo de edição, terá o valor |
|
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=