Общие сведения о прикладных системах
Примечание
Необходимость регистрации прикладной системы нужно определить на этапе внедрения аутентификации через мобильное приложение. Если зарегистрировать прикладную систему после начала эксплуатации КриптоПро DSS c аутентификацией через мобильное приложение, то это приведёт к некорректной работе ранее зарегистрированных пользователей и потребует повторной регистрации мобильных приложений (либо ручного изменения сведений о ранее зарегистрированных мобильных устройствах пользователей в базе данных).
dsssdk/settings
Регистрация прикладных систем
Регистрация прикладных систем необходима в случаях, когда требуется:
- отправлять PUSH-уведомления в мобильное приложение на базе DSS SDK средствами КриптоПро DSS;
- реализовывать различные бизнес-процессы с помощью нескольких различных мобильных приложений на базе DSS SDK.
Необходимость регистрации прикладной системы нужно определить на этапе внедрения аутентификации при помощи мобильного приложения на базе DSS SDK. Если зарегистрировать прикладную систему после начала эксплуатации КриптоПро DSS c аутентификацией через мобильное приложение, это может привести к некорректной работе ранее зарегистрированных пользователей и потребует повторной регистрации мобильных приложений (либо ручного изменения сведений о ранее зарегистрированных мобильных устройствах пользователей в базе данных).
Управление прикладными системами производится с помощью следующих командлетов:
При регистрации прикладной системы регистрируется OAuth-клиент и модули оповещения для рассылки Push-уведомлений (опционально). В свойствах зарегистрированного OAuth-клиента и модуля оповещения сохраняется идентификатор прикладной системы. Идентификатор OAuth-клиента и его секрет должны быть прописаны в настройках соответствующего Сервиса взаимодействия с DSS SDK.
Посредством идентификатора прикладной системы КриптоПро DSS разделяет настройки, мобильные приложения и операции, принадлежащие различным прикладным системам.
Соответственно если один экземпляр Центра Идентификации должен работать с несколькими различными мобильными приложениями, то должны быть зарегистрированы и настроены следующие параметры:
- несколько прикладных систем (Add-MyDssSystem)
- несколько сервисов взаимодействия с мобильным приложением (New-MdagInstance)
Регистрация нескольких прикладных систем влияет на процесс инициализации мобильных приложений и подтверждение операций:
Для корректной реализации сценария инициализации при помощи сверки уникального идентификатора каждое мобильное приложение должно взаимодействовать с сервисами DSS через выделенный для неё Cервис взаимодействия с DSS SDK (MDAG).
Для корректной реализации сценария инициализации при помощи QR-кода необходимо указать идентификатор прикладной системы, для которой создаётся QR-код. В QR-коде передаётся URL-адрес Сервиса взаимодействия с DSS SDK (MDAG). Данный адрес берётся из настроек прикладной системы (командлет Get-MyDssSystem, параметр
-MyDssAddress
).Если к учётной записи пользователя привязано несколько различных мобильных приложений, то при создании операции для подтвреждения в мобильном приложении требуется указать идентификатор прикладной системы. Указанный идентификатор прикладной системы служит для выбора мобильного приложения, через которое требуется подтвердить операцию.
Примечание
Если отправка Push-уведомлений средствами КриптоПро DSS не требуется, но планируется использовать несколько различных мобильных приложений, то всё равно необходимо зарегистрировать прикладные системы для каждого из мобильных приложений для того, чтобы разделять операции, создаваемые для каждой из прикладных систем.
В противном случае, если не регистрировать прикладные системы, каждое из мобильных приложений будет видеть все операции, создаваемые для пользователя.
Регистрация нескольких прикладных систем может потребоваться в тестовых целях при разработке мобильного приложения на базе DSS SDK на платформе iOS. Необходимо зарегистрировать приладные системы для возможности отправки Push-уведомлений в режиме Sandbox и Production.
dsssdk/push
Общие сведения о Прикладных системах
Последовательность шагов:
- Регистрация Прикладной системы
- Настройка 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