Deep Links
Мобильное приложение, позволяющее подтверждать операции подписи в СЭП, может быть автоматически открыто (вызвано) непосредственно из клиентского приложения, установленного на мобильном устройстве пользователя. Для этого используются глубинные ссылки (Deep Links).
Доступны следующие действия при переходе по корректно составленной ссылке:
- Регистрация пользователя;
- Открытие запроса на сертификат (при его наличии), а также возможность ограничить типы ключевых носителей на время работы приложения до его перезапуска;
- Открытие первой или определенной операции.
Общий вид ссылки:
<mobile_app>://action?param1=param1value¶m2=param2valueСсылка состоит из следующих компонентов:
- Schema (красный цвет) – имя вызываемого приложения;
- Host (синий цвет) – тип действия;
- Parameters (query string, зеленый цвет) – необходимые параметры для выполнения указанного действия.
Дополнительно в каждом из действий предусмотрены общие для всех действий опциональные параметры.
Внимание!
Все параметры чувствительны к регистру символов.
Примечание
Перед вызовом операции подписи клиентскому приложению/ИС рекомендуется удостовериться (получить ответ от СЭП), что операция подписи создана и находится в статусе ожидания подтверждения.
Префикс (Schema)
Префикс для мобильного приложения (<mobile_app>
) может быть получен по запросу
на support@cryptopro.ru
.
Регистрация пользователя
Клиентское приложение вызывает целевое мобильное приложение следующим образом:
<mobile_app>://registration?url={{server_url}}&type=server&userName=John&orgName=TestOrg&orgUrl=https://test.ru&callbackUrl=testapp://
В качестве типа действия передается значение registration
.
Для этого действия передаются следующие параметры:
url
(обязательный) – адрес сервера для регистрации;type
(обязательный) – тип выбранной регистрации:server
– с уникальным идентификатором,goskey
– при помощи сертификата в мобильном приложении Госключ,token
– при помощи установки существующего сертификата с внешнего носителя,renew
– при помощи выпуска нового сертификата с использованием существующего на внешнем носителе,createRequest
– при помощи выпуска нового сертификата;
userName
(опциональный) – имя пользователя;orgName
(обязательный) – имя организации;orgUrl
(опциональный) – ссылка для просмотра сайта организации. При использовании данного параметра появляется возможность перейти из UI регистрации по указанной ссылке (например, для получения дополнительной информации о вызывающем приложении/ИС);callbackUrl
(опциональный) - возврат результата в клиентское приложение.
Открытие запроса на сертификат с возможностью ограничения типа создаваемого ключа
<mobile_app>://certificate?uid=706e7f14-cfab-4925-831d-f640f5d31d3b&rid=143546&keyTypes=default,rutoken&callbackUrl=testapp://
В качестве типа действия передается значение certificate
.
Для этого действия передаются следующие параметры:
uid
(обязательный) – идентификатор пользователя в СЭП;keyTypes
(опциональный) – доступные типы ключевых носителей. Передаются через запятую;callbackUrl
(опциональный) - возврат результата в клиентское приложение.
Открытие операции
<mobile_app>://operation?uid=706e7f14-cfab-4925-831d-f640f5d31d3b&opId=45d740b4-e770-4f6a-8626-23285a2adbf7&callbackUrl=testapp://
В качестве типа действия передается значение operation
.
Для этого действия передаются следующие параметры:
uid
(обязательный) – идентификатор пользователя в СЭП;opId
(опциональный) – id операции в СЭП (transactionId). При отсутствии данного параметра будет открыта первая доступная операция;callbackUrl
(опциональный) - возврат результата в клиентское приложение.
Общие для всех действий параметры
Вызываемое мобильное приложение предоставляет возможность передать внутри ссылки следующие общие для всех действий параметры:
callbackUrl
позволяет вернуться в исходное приложение по завершении действия и передать сведения об успехе/ошибке операции.
Для каждого типа действия есть возможность передать параметр callbackUrl
со ссылкой (schema) клиентского приложения.
Пользователю будет предложено вернуться в исходное приложение по завершении действия.
К ссылке в конце будет добавлен параметр result
, указывающий на успех (success) или ошибку (failure)
выполнения действия по глубинной ссылке.
Таким образом, при передаче в параметре callbackUrl
ссылки testapp://
приложение попытается открыть следующую ссылку
в зависимости от успеха/ошибки действия:
- Успех -
testapp://?result=success
, Ошибка -
testapp://?result=failure
.callbackName
(требует обязательного наличияcallbackUrl
) - позволяет подставить имя исходного приложения в текст всплывающего окна с предложением возврата в исходное приложение.
Пример окна с предложением возврата в вызывающее приложение:
Данное окно появится в случае, если в параметрах был передан callbackUrl
. Текст "исходное приложение" будет заменен на значение
параметра callbackName
, если тот был также передан.