Идентификатор экземпляра компонента — это уникальный идентификатор компонента, который визуализируется во встроенной рамке сайта.
Когда пользователь перетаскивает компонент, визуализированный во встроенной рамке, из каталога компонентов на страницу сайта, сервису Oracle Sites Cloud Server отправляется вызов выделения ресурсов, чтобы создать новый уникальный идентификатор экземпляра компонента. Этот идентификатор уникален, и все такие экземпляры компонентов, выделенные в этом сервисе, получают одинаковый идентификатор экземпляра.
Идентификатор экземпляра компонента содержит дополнительную информацию, которая может служить для защиты настроек и использования компонента, визуализированного во встроенной рамке, чтобы обеспечить поступление обновления настроек компонента из доверенного места.
Параметр идентификатора экземпляра позволяет разработчикам идентифицировать сайт и аутентифицировать вызывающего абонента. Вызывающий абонент аутентифицируется посредством проверки цифровой подписи, которая создается с помощью секретного ключа компонента. Секретный ключ создается в процессе регистрации компонента.
Экземпляр компонента состоит из двух частей, разделенных точкой ("."): данные и структура.
Экземпляр компонента: данные
Часть данных экземпляра компонента, визуализированного во встроенной рамке, представляет собой строку JSON с кодировкой Base64. Структура строки JSON:
{ "instanceid": "BBDC7614F693B75110D811E6C0B77C935FAEC5112E5E", "permissions": "", "entitlements": "", "signdate": "1435426735293", "sitedomain": "service1-tenant4.localhost" }
Имя поля | Описание |
---|---|
|
Уникальный идентификатор компонента, визуализированного во встроенной рамке, для арендатора Oracle Content Management. |
|
Дата создания подписи. |
|
Имя домена экземпляра Oracle Content Management. |
|
Набор разрешений участника сайта. В режиме редактирования имеет значение |
|
Список премиальных функций, приобретенных владельцем сайта. |
Экземпляр компонента: сигнатура
Часть данных экземпляра компонента сериализована перед подписанием с использованием APP_SECRET_KEY
. Этот секретный ключ должен быть создан и показан разработчику во время регистрации компонента. Подпись рассчитывается путем создания хеша части данных экземпляра компонента (сериализованной структуры JSON) с использованием секретного ключа, как показано ниже:
$signature = HMAC (serialized JSON structure, APP_SECRET_KEY)
При создании подписи используется алгоритм хеширования SHA256. Маркер представляет собой конкатенацию сериализованной структуры JSON и созданного компонента подписи, как показано ниже:
$instance = {base64encoded serialized JSON structure}.{base64encoded $signature}
Пример:
//base64 encoded serialized object //signature eyJpbnN0YW5jZWlkIjoiQTRGOTE3REY5OTZEN0Q3ODBCMjUzODZFOTFEMDA3ODJGMjVBRjY2Rjc3OTIiLCJzaWduZGF0ZSI6IjE0NDU2MzcwNTk5MTciLCJzaXRlZG9tYWluIjoic2VydmljZTEtdGVuYW50MS51cy5vcmFjbGUuY29tIiwicGVybWlzc2lvbnMiOiJTSVRFX09XTkVSIiwiZW50aXRsZW1lbnRzIjoiIn0=.5p3of7t11OwuysF3zpm+YgICSHH8C/BHczdbVZx2VH8=