Показать/Скрыть содержание

    Настройка Push-уведомлений

    Примечание

    Необходимость регистрации прикладной системы нужно определить на этапе внедрения аутентификации через мобильное приложение. Если зарегистрировать прикладную систему после начала эксплуатации КриптоПро DSS c аутентификацией через мобильное приложение, то это приведёт к некорректной работе ранее зарегистрированных пользователей и потребует повторной регистрации мобильных приложений (либо ручного изменения сведений о ранее зарегистрированных мобильных устройствах пользователей в базе данных).

    Общие сведения о Прикладных системах

    Последовательность шагов:

    • Регистрация Прикладной системы
    • Настройка OAuth-клиента для Сервиса Взаимодействия с Мобильным приложением (MDAG)
    • Настройка шаблонов Push-уведомлений

    Каждая Прикладная система, использующая подтверждение операций с помощью Мобильного приложения на базе myDSS SDK/DSS Client, должна быть зарегистрирована как "Система myDSS" в КриптоПро DSS.

    Прикладная система определяет:

    • параметры отправки Push-уведомлений,
    • набор событий, о которых будут рассылаться Push-уведомления
    • параметры взаимодействия с Мобильным приложением

    Управление Прикладными системами выполняется командами *-MyDssSystem:

    • Add-MyDssSystem
    • Get-MyDssSystem
    • Remove-MyDssSystem
    • Set-MyDssSystem

    Регистрация новой Прикладной системы выполняется командой Add-MyDssSystem. При регистрации системы необходимо указать:

    • (опционально) Параметры для отправки Push-уведомлений (GoogleServiceKey, ApnClientCertPath, ApnClientCertPassword)
    • Адрес Сервиса Взаимодействия с Мобильным приложением (MDAG) (MyDssAddress)
    • Отображаемое имя системы (Name)
    Примечание

    Если при регистрации прикладной системы (Add-MyDssSystem) не указывать параметры отправки Push-уведомлений, то модуль для отправки Push-уведомлений не будет зарегистрирован.

    Параметр MyDssAddress задаёт адрес сервиса MDAG, который передаётся в мобильное приложение в сценарии регистрации через QR-код. Параметр Name задаёт отображаемое имя системы в Веб-интерфейсе Центра Идентификации. Если в КриптоПро DSS зарегистрировано более одной системы, то при создании QR-кода для регистрации мобильного устройства пользователю/оператору необходимо будет выбрать систему из предложенного списка.

    При регистрации прикладной системы регистрируются:

    • (опционально) модуль и плагины для отправки Push-уведомлений
    • OAuth-клиент для регистрируемой системы.

    Идентификатор и секрет зарегистрированного OAuth-клиента необходимо задать в настройках Сервиса Взаимодействия с Мобильным приложением (MDAG). Команда для регистрации:

    Set-MdagProperties -ClientId new_client_id -ClientSecret new_client_secret
    

    Идентификатор регистрируемого OAuth-клиента имеет следующий формат: mydss.cryptopro.[system_display_name]

    Примечание

    Все созданные объекты: Прикладная система, OAuth-клиент, модуль оповещения Push, объединяются идентификатором Прикладной системы. Созданный при регистрации Прикладной системы OAuth-клиент должен быть задан в настройках Сервиса Взаимодействия с Мобильным приложением.

    Пример:

    # Имя экземпляра Центра Идентификации
    $STSAppName = "STS"
    
    # Задание URL MDAG
    $mdagUrl = "https://<hostname>/mdag"
    
    # Задание отображаемого имени системы
    $systemDisplayName = "system_display_name"
    
    # Задание данных для аутентификации PUSH-серверов
    $googleKey = "AAAAVX ... WEoO"
    $apnPwd = "p@ssw0rd"
    $apnPath = "APN pfx path"
    $hmsid = "Идентификатор клиента Huawei"
    $hmssecret = "Секрет клиента Huawei"
    
    # Регистрация системы
    # При регистрации также будут зарегистрированы модули оповещения и OAuth-клиент
    $system = Add-MyDssSystem -DisplayName $STSAppName -Name $systemDisplayName -MyDssAddress $mdagUrl -PushType IdentityService -GoogleServiceKey $googleKey -ApnClientCertPath $apnPath -ApnClientCertPassword $apnPwd -HmsClientId $hmsid -HmsClientSecret $hmssecret
    

    Список зарегистрированных систем можно посмотреть командой Get-MyDssSystem. Параметры зарегистрированной системы можно посмотреть командами:

    • (Get-MyDssSystem -SystemId id_guid).Parameters | fl или
    • (Get-MyDssSystem).Parameters | fl

    Зарегистрированный OAuth-клиента можно найти в выводе Get-DssClient.

    Пример:

    # Идентификатор системы
    $systemID = id_guid
    
    # Ищем клиента по идентификатору системы
    $client = Get-DssClient | where { $_.ExtendedProperties -ne $null -and $_.ExtendedProperties["MyDssSystemId"] -eq $systemID }
    $client
    

    Значение секрета можно посмотреть в выводе команды:

    Get-DssClientSecret -ClientId $client.ClientId
    

    Модуль оповещения Push

    При выполнении команды Add-MyDssSystem регистрируется модуль оповещения типа Push.

    Список всех зарегистрированных модулей можно просмотреть при помощи следующей команды:

    # Вывести список всех модулей оповещения
    Get-DssInternalNotifier
    
    # Вывести список модулей типа  `Push`
    Get-DssInternalNotifier | where { $_.Type -eq "Push" }
    

    Вывести модуль оповещения, связанный с указанной Прикладной системой, можно командой:

    
    $systemID = id_guid
    
    Get-DssInternalNotifier | where { $_.Settings.ContainsKey("MyDssSystemId") -and ($_.Settings["MyDssSystemId"] -eq $systemID) }
    

    Параметры отправки Push-уведомлений задаются в транспортном плагине модуля оповещения.

    
    $systemID = id_guid
    $notifier = Get-DssInternalNotifier | where { $_.Settings.ContainsKey("MyDssSystemId") -and ($_.Settings["MyDssSystemId"] -eq $systemID) }
    $notifier.TransportPlugin
    

    Параметры транспортного плагина:

    Данные для отправки Push-уведомлений Android FCM:

    • GoogleServiceKey
    • WarmUpFCM - параметр должен быть равен false

    Данные для отправки Push-уведомлений iOS APN:

    • ApnClientCertPath - полный путь до файла с сертификатом аутентификации (PFX)
    • ApnClientCertPassword - пароль на файл серитфиката
    • IsDev - режим отправки Push-уведомлений (Sandbox/Production). Возможные значения true/false

    Данные для отправки Push-уведомлений Huawei HMS:

    • ClientSecret
    • ClientId
    Примечание

    Если параметры соответствующего типа Push-уведомлений не заданы, то Push уведомления данного типа отправляться не будут.

    
    # Поиск модуля оповещения Push
    $systemID = id_guid
    $notifier = Get-DssInternalNotifier | where { $_.Settings.ContainsKey("MyDssSystemId") -and ($_.Settings["MyDssSystemId"] -eq $systemID) }
    $plugin = $notifier.TransportPlugin
    
    # Вывод настроек плагина
    $plugin.Settings | fl
    

    Установка параметров плагина выполняется при помощи следующей команды:

    
    # Поиск плагина
    $systemID = id_guid
    $notifier = Get-DssInternalNotifier | where { $_.Settings.ContainsKey("MyDssSystemId") -and ($_.Settings["MyDssSystemId"] -eq $systemID) }
    $plugin = $notifier.TransportPlugin
    
    # Установка параметров плагина (пример FCM)
    
    $GoogleServiceKey = ""
    Set-DssStsPlugin -PluginID $plugin.ID -Settings @{"GoogleServiceKey"= $GoogleServiceKey; "WarmUpFCM"="false" }
    

    Регистрация модуля Push вручную

    Если прикладная система регистрировалась без указания параметров Push, то модуль Push не будет зарегистрирован. При необходимости его можно зарегистрировать вручную.

    Параметры регистрации транспортного плагина:

    • AssemblyName : DSS.PushService.NotificationEx
    • TypeName : CryptoPro.DSS.PushService.NotificationEx.PushPlugin
    • Type : Push (принимает значения APN, FCM или HMS)

    Параметры транспортного плагина (Settings) для отправки Push-уведомлений средствами Центра Идентификации:

    Параметр Описание
    GoogleServiceKey (Android) ключ Firebase
    WarmUpFCM (Android) параметр должен быть равен false
    ApnClientCertPath (iOS) полный путь до файла с сертификатом аутентификации (PFX)
    ApnClientCertPassword (iOS) пароль на файл с сертификатом аутентификации (PFX)
    IsDev (iOS) режим отправки Push-уведомлений (Sandbox/Production). Возможные значения true/false
    ClientSecret (Huawei) Секрет клиента HMS
    ClientId (Huawei) Идентификатор клиента HMS
    Примечание

    При отправке Push-уведомлений через Центр Идентификации DSS можно задать параметры отправки только для необходимых платформ. Например только для Android, или только для Android и iOS.

    Параметры транспортного плагина (Settings) для отправки Push-уведомлений через сервис Push-Proxy:

    Параметр Описание
    UsePushProxy включение/отключение отправки Push-уведомлений через сервис PUSH Proxy
    PushProxyLogin PushProxyPassword` - учётные данные для подключения к экземпляру сервиса PUSH Proxy, которые были заданы на этапе настройки модуля PUSH Proxy
    PushProxyAddress URL-адрес PUSH Proxy
    Примечание

    Если в настройках плагина установлен флаг UsePushProxy = true, то установленные параметры отправки Push средствами Центра Идентификации игнорируются.

    Параметры регистрации плагина форматирования:

    • Type : Formatter
    • AssemblyName : DSS.PushService.NotificationEx
    • TypeName : CryptoPro.DSS.PushService.NotificationEx.PushFormatterPlugin

    Параметры плагина форматирования (Settings) - не требуются.

    Параметры модуля оповещения Push

    Type : Push

    Сервис Push-Proxy

    По умолчанию отправку Push-уведомлений осуществляет модуль оповещения, настроенный на Центре Идентификации DSS. В некоторых случаях этот вариант отправки Push-уведомлений может оказаться невозможен. Например, если сервер, на котором развернут Центр Идентификации, не имеет выхода в сеть Интернет.

    В этом случае отправка Push-уведомлений может быть выполнена через сервис DSS PUSH Proxy, развернутый, к примеру, в DMZ.

    Сервис DSS PUSH Proxy относится к дополнительному ПО и должен быть развернут и установлен отдельно.

    Установка и настройка DSS PUSH Proxy

    Настройка шаблонов Push-уведомлений

    Ниже приведен пример настройки шаблонов Push-уведомлений для мобильного приложения myDSS 2.0 компании SafeTech.

    Примечание

    Скрипт требует задания переменной systemID, в которой передаётся идентификатор зарегистрированной прикладной системы

    
    $systemID = $system.ID
    
    ## 1.1. Подтвердите создание учётной записи:
    ## AssignMyDssSdkDevice = 234,
    
    Add-DssPushFormatterTemplate -DisplayName $STSAppName -EventID 234 -MyDssSystemId $systemID -Text "Подтвердите данные учётной записи" -Payload '{ "app-event-type":"users.state.changed", "title_loc_key": "notification.user.info.changed", "loc_key": "notification.user.accept", "title": "Изменились данные подписи", "body": "Подтвердите данные учётной записи", "userID": "{0:UserID}"}'
    
    ## 1.3. Устройство заблоĸировано на сервере:
    ## myDssDeviceLocked = 320
    Add-DssPushFormatterTemplate -DisplayName $STSAppName -EventID 320 -MyDssSystemId $systemID -Text "Профиль устройства заблокирован на сервере" -Payload '{ "app-event-type":"users.state.changed", "title_loc_key": "notification.user.state.changed", "loc_key": "notification.user.blocked", "title": "Изменился статус профиля", "body": "Профиль устройства заблокирован на сервере", "userID": "{0:UserID}"}'
    
    ## 1.4. Устройство разблоĸировано на сервере:
    ## myDssDeviceUnlocked = 321,
    Add-DssPushFormatterTemplate -DisplayName $STSAppName -EventID 321 -MyDssSystemId $systemID -Text "Профиль устройства разблокирован на сервере" -Payload '{ "app-event-type":"users.state.changed", "title_loc_key": "notification.user.state.changed", "loc_key": "notification.user.unblocked", "title": "Изменился статус профиля", "body": "Профиль устройства разблокирован на сервере", "userID": "{0:UserID}"}'
    
    ## 2.1. Сертифиĸат выпущен: 
    ## CertificateInstalled = 58
    Add-DssPushFormatterTemplate -DisplayName $STSAppName -EventID 58 -MyDssSystemId $systemID -Text "Изменился статус сертификата" -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.issued", "title": "Изменился статус сертификата", "body": " Сертификат выпущен и готов к работе", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}"}'
    ## 270 CertificateRequestOperationExecuted
    Add-DssPushFormatterTemplate -DisplayName $STSAppName -EventID 270 -MyDssSystemId $systemID -Text "Изменился статус сертификата" -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.issued", "title": "Изменился статус сертификата", "body": " Сертификат выпущен и готов к работе", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}"}'
    ##  20 CertificateCreated 
    Add-DssPushFormatterTemplate -DisplayName $STSAppName -EventID 20 -MyDssSystemId $systemID -Text "Изменился статус сертификата" -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.issued", "title": "Изменился статус сертификата", "body": " Сертификат выпущен и готов к работе", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}"}'
    
    # 2.2. Истёĸ сроĸ действия сертифиĸата:
    
    ## 2.3. Действие сертифиĸата приостановлено:
    ## CertificateHold = 49,
    Add-DssPushFormatterTemplate -DisplayName $STSAppName -EventID 49 -MyDssSystemId $systemID -Text "Действие сертификата приостановлено" -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.hold", "title": "Изменился статус сертификата", "body": "Действие сертификата приостановлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}"}'
    ## 284 HoldCertificateOperationExecuted
    Add-DssPushFormatterTemplate -DisplayName $STSAppName -EventID 284 -MyDssSystemId $systemID -Text "Действие сертификата приостановлено" -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.hold", "title": "Изменился статус сертификата", "body": "Действие сертификата приостановлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}"}'
    
    ## 2.4. Действие сертифиĸата возобновлено: 
    ## CertificateUnhold = 50,
    Add-DssPushFormatterTemplate -DisplayName $STSAppName -EventID 50 -MyDssSystemId $systemID -Text "Действие сертификата возобновлено" -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.unhold", "title": "Изменился статус сертификата", "body": "Действие сертификата возобновлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}"}'
    ## 286 UnHoldCertificateOperationExecuted
    Add-DssPushFormatterTemplate -DisplayName $STSAppName -EventID 286 -MyDssSystemId $systemID -Text "Действие сертификата возобновлено" -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.unhold", "title": "Изменился статус сертификата", "body": "Действие сертификата возобновлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}"}'
    
    ## 3.1. Доступны операции для подтверждения 
    ## SecondaryAuthLogin = 92,
    ## SecondaryAuthSign = 93,
    ## SecondaryAuthSignDocs = 94,
    Add-DssPushFormatterTemplate -DisplayName $STSAppName -EventID 93 -MyDssSystemId $systemID -Text "Доступна новая операция для подтверждения" -Payload '{"app-event-type":"operations.new", "loc_key": "notification.operation.available", "body": "Доступна новая операция для подтверждения", "userID": "{0:UserID}", "transactionID": "{0:TransactionId}"}'
    Add-DssPushFormatterTemplate -DisplayName $STSAppName -EventID 94 -MyDssSystemId $systemID -Text "Доступна новая операция для подтверждения" -Payload '{"app-event-type":"operations.new", "loc_key": "notification.operation.available", "body": "Доступна новая операция для подтверждения", "userID": "{0:UserID}", "transactionID": "{0:TransactionId}"}'
    Add-DssPushFormatterTemplate -DisplayName $STSAppName -EventID 92 -MyDssSystemId $systemID -Text "Доступна новая операция для подтверждения" -Payload '{"app-event-type":"operations.new", "loc_key": "notification.operation.available", "body": "Доступна новая операция для подтверждения", "userID": "{0:UserID}", "transactionID": "{0:TransactionId}"}'
    

    Ниже приведен пример настройки шаблонов Push-уведомлений для мобильного приложения DSS Client.

    Примечание

    Скрипт требует задания переменной systemID, в которой передаётся идентификатор зарегистрированной прикладной системы.

    
    $systemID = $system.ID
    
    Add-DssPushFormatterTemplate -EventID 20 -MyDssSystemId $systemId -Text 'Изменился статус сертификата' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.issued", "title": "Изменился статус сертификата", "body": " Сертификат выпущен и готов к работе", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}", "login":"{0:Login}", "action":"cert_created"}'
    Add-DssPushFormatterTemplate -EventID 46 -MyDssSystemId $systemId -Text 'Сертификат удалён' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.default", "title": "Сертификат удалён", "body": "Для учетной {0:Login} был удален сертификат", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_deleted"}'
    Add-DssPushFormatterTemplate -EventID 48 -MyDssSystemId $systemId -Text 'Сертификат отозван' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.revoked", "title": "Изменился статус сертификата", "body": "Для учетной {0:Login} был отозван сертификат", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_revoked"}'
    Add-DssPushFormatterTemplate -EventID 49 -MyDssSystemId $systemId -Text 'Действие сертификата приостановлено' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.hold", "title": "Изменился статус сертификата", "body": "Для учетной {0:Login} действие сействие сертификата приостановлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_suspended"}'
    Add-DssPushFormatterTemplate -EventID 50 -MyDssSystemId $systemId -Text 'Действие сертификата возобновлено' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.unhold", "title": "Изменился статус сертификата", "body": "Для учетной {0:Login} действие сействие сертификата возобновлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_resumed"}'
    Add-DssPushFormatterTemplate -EventID 53 -MyDssSystemId $systemId -Text 'Назначен сертификат по умолчанию' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.default", "title": "Установлен сертификат по умолчанию", "body": "Для учетной {0:Login} установлен сертификат по умолчанию", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_change_default"}'
    Add-DssPushFormatterTemplate -EventID 58 -MyDssSystemId $systemId -Text 'Сертификат установлен' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.issued", "title": "Изменился статус сертификата", "body": " Сертификат выпущен и готов к работе", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_sent"}'
    
    ## Доступны операции для подтверждения 
    ## SecondaryAuthLogin = 92,
    ## SecondaryAuthSign = 93,
    ## SecondaryAuthSignDocs = 94,
    
    Add-DssPushFormatterTemplate -EventID 92 -MyDssSystemId $systemId -Text 'Доступна новая операция для подтверждения' -Payload '{"app-event-type":"operations.new", "loc_key": "notification.operation.available", "title":"Доступна новая операция для подтверждения", "body": "Новая операция ожидает подтверждения в приложении", "userID": "{0:UserID}", "transactionID": "{0:TransactionId}", "login":"{0:Login}", "action":"operation_created"}'
    Add-DssPushFormatterTemplate -EventID 93 -MyDssSystemId $systemId -Text 'Доступна новая операция для подтверждения' -Payload '{"app-event-type":"operations.new", "loc_key": "notification.operation.available", "title": "{0:CertFriendlyName}", "body": "Доступна новая операция для подтверждения", "userID": "{0:UserID}", "transactionID": "{0:TransactionId}"}'
    Add-DssPushFormatterTemplate -EventID 94 -MyDssSystemId $systemId -Text 'Доступна новая операция для подтверждения' -Payload '{"app-event-type":"operations.new", "loc_key": "notification.operation.available", "title": "Доступна новая операция для подтверждения", "body": "Новый пакет документов на подпись ожидает подтверждения в приложении", "userID": "{0:UserID}", "transactionID": "{0:TransactionId}", "login":"{0:Login}", "action":"sign_operation_created"}'
    Add-DssPushFormatterTemplate -EventID 270 -MyDssSystemId $systemId -Text 'Изменился статус сертификата' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.issued", "title": "Изменился статус сертификата", "body": " Сертификат выпущен и готов к работе", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}", "login":"{0:Login}", "action":"cert_created"}'
    Add-DssPushFormatterTemplate -EventID 276 -MyDssSystemId $systemId -Text 'Назначен сертификат по умолчанию' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.default", "title": "Установлен сертификат по умолчанию", "body": "Для учетной {0:Login} установлен сертификат по умолчанию", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_change_default"}'
    Add-DssPushFormatterTemplate -EventID 280 -MyDssSystemId $systemId -Text 'Сертификат удалён' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.default", "title": "Сертификат удалён", "body": "Для учетной {0:Login} был удален сертификат", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_deleted"}'
    Add-DssPushFormatterTemplate -EventID 282 -MyDssSystemId $systemId -Text 'Сертификат отозван' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.revoked", "title": "Изменился статус сертификата", "body": "Для учетной {0:Login} был отозван сертификат", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_revoked"}'
    Add-DssPushFormatterTemplate -EventID 284 -MyDssSystemId $systemId -Text 'Действие сертификата приостановлено' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.hold", "title": "Изменился статус сертификата", "body": "Для учетной {0:Login} действие сействие сертификата приостановлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_suspended"}'
    Add-DssPushFormatterTemplate -EventID 286 -MyDssSystemId $systemId -Text 'Действие сертификата возобновлено' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.unhold", "title": "Изменился статус сертификата", "body": "Для учетной {0:Login} действие сертификата возобновлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_resumed"}'
    Add-DssPushFormatterTemplate -EventID 234 -MyDssSystemId $systemId -Text 'Подтвердите данные учётной записи' -Payload '{ "app-event-type":"users.state.changed", "title_loc_key": "notification.user.info.changed", "loc_key": "notification.user.accept", "title": "Изменились данные пользователя", "body": "Оператор привязал устройство к учетной записи {0:Login}", "userID": "{0:UserID}", "kid":"{0:MyDssKid}", "login":"{0:Login}", "action":"binded"}'
    Add-DssPushFormatterTemplate -EventID 320 -MyDssSystemId $systemId -Text 'Профиль устройства заблокирован на сервере' -Payload '{ "app-event-type":"users.state.changed", "title_loc_key": "notification.user.state.changed", "loc_key": "notification.user.blocked", "title": "Изменились данные пользователя", "body": "Связь устройства с учётной записью {0:Login} была заблокирована", "userID": "{0:UserID}", "kid":"{0:MyDssKid}", "login":"{0:Login}", "action":"blocked"}'
    Add-DssPushFormatterTemplate -EventID 321 -MyDssSystemId $systemId -Text 'Профиль устройства разблокирован на сервере' -Payload '{ "app-event-type":"users.state.changed", "title_loc_key": "notification.user.state.changed", "loc_key": "notification.user.unblocked", "title": "Изменились данные пользователя", "body": "Связь устройства с учётной записью {0:Login} была разблокирована", "userID": "{0:UserID}", "kid":"{0:MyDssKid}", "login":"{0:Login}", "action":"unblocked"}'
    Add-DssPushFormatterTemplate -EventID 322 -MyDssSystemId $systemId -Text 'Устройство отвязано от учётной записи' -Payload '{ "app-event-type":"users.state.changed", "title_loc_key": "notification.user.state.changed", "loc_key": "notification.user.deleted", "title": "Изменились данные пользователя", "body": "Связь устройства с учётной записью {0:Login} была разорвана", "userID": "{0:UserID}", "kid":"{0:MyDssKid}", "login":"{0:Login}", "action":"unbinded"}'
    
    В начало © ООО "КРИПТО-ПРО", 2000–2024