Нижеуказанная информация актуальна для текущей сборки DSS 2.0.3892.
В DSS реализована возможность отправки четырех видов колбэков, с применением различных модулей оповещения:
1. Колбэк с результатом подтверждения операции.
Где выполняется настройка модуля оповещения: Центр Идентификации (ЦИ).
Алгоритм настройки модуля оповещения:
#Настройка транспортного плагина модуля оповещения:
$transport = Add-DssStsPlugin -PluginTypeName "CryptoPro.DSS.Identity.Authentication.Notification.HttpTransportPlugin,CryptoPro.DSS.Identity.Authentication.Notification" -PluginType AuthenticationResult -Settings @{}
#Настройка плагина форматирования модуля оповещения:
Add-DssStsPlugin -PluginTypeName "CryptoPro.DSS.Identity.Authentication.Notification.AuthenticationResultFormatter,CryptoPro.DSS.Identity.Authentication.Notification" -PluginType Formatter -Settings @{}
#Добавление модуля оповещения:
Add-DssStsNotifier -TransportPluginID $transport.ID -NotifierType AuthenticationResultCallback -Settings @{}
#Перезагрузка пула приложения ЦИ:
Restart-DssStsInstance
При каких условиях происходит отправка колбэка: Если в первом запросе к Сервису Подтверждения Операций DSS был передан параметр "CallbackUri", с указанием адреса колбэк-сервиса, то после подтверждения операции пользователем придёт оповещение о завершении транзакции.
Сообщение о завершении транзакции содержит:
- Result - результат подтверждения транзакции (success или failed);
- TransactionId - идентификатор транзакции на Сервисе Подтверждения операций (RefId);
- Error - код ошибки;
- ErrorDescription - описание ошибки.
2. Колбэк с оповещением о событиях инициализации мобильного приложения (МП) на базе DSS SDK.
Где выполняется настройка модуля оповещения: Центр Идентификации (ЦИ).
Алгоритм настройки модуля оповещения:
#Получение идентификатора системы myDSS: Выполнить на сервере DSS командлет: Get-MyDssSystem
#Объявить переменные с указанием ID системы myDSS и адресом колбэк-сервиса: $systemId = "ID системы myDSS" $callback = "Адрес колбэк-сервиса"
#Настройка транспортного плагина модуля оповещения:
$transport = Add-DssStsPlugin -PluginTypeName "CryptoPro.DSS.Identity.Authentication.Notification.myDssCallbackPlugin,CryptoPro.DSS.Identity.Authentication.Notification" -PluginType MyDssCallback -Settings @{"Address"="$callback"}
#Добавление модуля оповещения:
Add-DssStsNotifier -TransportPluginID $transport.ID -NotifierType MyDssCallback -Settings @{ "myDssSystemId"="$systemId" } -Type "CryptoPro.DSS.Identity.Authentication.Notification.myDssCallbackNotifier,CryptoPro.DSS.Identity.Authentication.Notification"
#Перезагрузка пула приложения ЦИ:
Restart-DssStsInstance
При каких условиях происходит отправка колбэка: Колбэк будет отправлен при возникновении событий из списка, представленного в руководстве.
3. Колбэк с оповещением о событии создания запроса на сертификат в МП на базе DSS SDK.
Где выполняется настройка модуля оповещения: Сервис Подписи.
Алгоритм настройки модуля оповещения:
#Получение идентификатора системы myDSS: Выполнить на сервере DSS командлет: Get-MyDssSystem
#Объявить переменные с указанием ID системы myDSS и адресом колбэк-сервиса: $systemId = "ID системы myDSS" $callback = "Адрес колбэк-сервиса"
#Настройка транспортного плагина модуля оповещения:
$transport = Add-DssSignServerPlugin -PluginTypeName "CryptoPro.DSS.Identity.Authentication.Notification.myDssCallbackPlugin,CryptoPro.DSS.Identity.Authentication.Notification" -PluginType MyDssCallback -Settings @{"Address"="$callback"}
#Добавление модуля оповещения:
Add-DssSignServerNotifier -TransportPluginID $transport.ID -NotifierType MyDssCallback -Settings @{ "myDssSystemId"="$systemId" } -Type "CryptoPro.DSS.Identity.Authentication.Notification.myDssCallbackNotifier,CryptoPro.DSS.Identity.Authentication.Notification"
#Перезагрузка пула приложения Сервиса Подписи:
Restart-DssSignServerInstance
При каких условиях происходит отправка колбэка: Колбэк будет отправлен при возникновении событий из списка, представленного в руководстве.
4. Колбэк с результатом подтверждения операции асинхронной подписи.
Где выполняется настройка модуля оповещения: Сервис Подписи.
#Настройка транспортного плагина модуля оповещения:
$transport = Add-DssSignServerPlugin -PluginTypeName "CryptoPro.DSS.Identity.Authentication.Notification.HttpTransportPlugin,CryptoPro.DSS.Identity.Authentication.Notification" -PluginType AuthenticationResult -Settings @{}
#Добавление модуля оповещения:
Add-DssSignServerNotifier -TransportPluginID $transport.ID -NotifierType AuthenticationResultCallback -Settings @{} -Type "CryptoPro.DSS.Identity.Authentication.Notification.AuthenticationResultNotifier,CryptoPro.DSS.Identity.Authentication.Notification"
#Перезагрузка пула приложения Сервиса Подписи:
Restart-DssSignServerInstance
При каких условиях происходит отправка колбэка: Если в запросе на создание операции асинхронной подписи, направленном к Сервису Подписи, были переданы параметры: - "Callback", с указанием адреса колбэк-сервиса; - "IsAsync"="true".
То после подтверждения операции пользователем в мобильном приложении придёт оповещение, содержащее ID подписанного документа.
|