L'ID d'instance de composant est l'identificateur unique d'un composant affiché dans un cadre incorporé dans un site.
Lorsqu'un utilisateur fait glisser un composant affiché dans un cadre incorporé du catalogue de composants vers une page de site, un appel de provisionnement au service Oracle Sites Cloud est effectué pour la génération d'un ID unique d'instance de composant. L'unicité de cet ID est garantie et toutes les instances de ce composant provisionnées sur ce service obtiendront le même ID d'instance.
Un ID d'instance de composant contient des informations supplémentaires qui peuvent permettre de sécuriser les paramètres et l'utilisation d'un composant affiché dans un cadre incorporé, de telle manière que le composant est assuré que la source de la mise à jour des paramètres est sécurisée.
Le paramètre d'ID d'instance permet aux développeurs d'identifier le site et d'authentifier la partie appelante. L'appelant est authentifié via la vérification d'une signature numérique générée à l'aide de la clé secrète du composant. La clé secrète est générée au cours du processus d'inscription du composant.
L'instance de composant est constituée de deux parties délimitées par un séparateur '.' : données et structure.
Instance de composant : données
La partie données de l'instance d'un composant affiché dans un cadre incorporé est une chaîne JSON encodée en Base64. Voici la structure de la chaîne JSON :
{ "instanceid": "BBDC7614F693B75110D811E6C0B77C935FAEC5112E5E", "permissions": "", "entitlements": "", "signdate": "1435426735293", "sitedomain": "service1-tenant4.localhost" }
Nom de champ | Description |
---|---|
|
Identificateur unique d'un composant affiché dans un cadre incorporé pour un locataire Oracle Content Management. |
|
Date de génération de la signature. |
|
Nom de domaine de l'instance Oracle Content Management. |
|
Ensemble des droits d'accès du membre de site. En mode de modification, ce champ affiche la valeur |
|
Liste des fonctionnalités Premium achetées par le propriétaire du site. |
Instance de composant : signature
La partie données de l'instance de composant est sérialisée avant d'être signée par une clé secrète APP_SECRET_KEY
. Cette clé secrète doit être générée et présentée au développeur lors de l'inscription du composant. La signature est calculée en générant un hachage de la partie données de l'instance de composant (une structure JSON sérialisée) avec la clé secrète comme indiqué ici :
$signature = HMAC (serialized JSON structure, APP_SECRET_KEY)
L'algorithme de hachage utilisé pour la génération de la signature est SHA256. Le jeton est alors la concaténation de la structure JSON sérialisée et du composant de signature généré comme indiqué ici :
$instance = {base64encoded serialized JSON structure}.{base64encoded $signature}
Exemple :
//base64 encoded serialized object //signature eyJpbnN0YW5jZWlkIjoiQTRGOTE3REY5OTZEN0Q3ODBCMjUzODZFOTFEMDA3ODJGMjVBRjY2Rjc3OTIiLCJzaWduZGF0ZSI6IjE0NDU2MzcwNTk5MTciLCJzaXRlZG9tYWluIjoic2VydmljZTEtdGVuYW50MS51cy5vcmFjbGUuY29tIiwicGVybWlzc2lvbnMiOiJTSVRFX09XTkVSIiwiZW50aXRsZW1lbnRzIjoiIn0=.5p3of7t11OwuysF3zpm+YgICSHH8C/BHczdbVZx2VH8=