Настройка аутентификации DSS Client
- Назначить пользователю существующее мобильное устройство
- Создание QR-кода с Kinit
- Получение существующего QR-кода с Kinit
- Повторная отправка кода активации на KInit
- Удалить QR-код с Kinit
Назначение пользователю существующего мобильного устройства
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss/assign |
Параметры в строке запроса | id - Глобальный идентификатор пользователя (не является частью query string) |
Параметры в теле запроса | MyDssAssignKeyRequest - Информация о добавляемом устройстве |
Возвращаемое значение | MyDssKeyInfo - Информация об устройстве |
Пример запроса
POST https://<hostname>/STS/ums/user/8d16086d-676c-49d6-bf49-09e6f936a596/mydss/assign HTTP/1.1
Content-Type: application/json; charset=utf-8
{"Kid":"73128110"}
Пример ответа
HTTP/1.1 200 OK
{
"Uid":"8d16086d-676c-49d6-bf49-09e6f936a596",
"Kid":"73128110",
"DeviceName":"MyApple",
"NotBefore":1574869065,
"NotAfter":1614440265,
"State":"NotVerified",
"UserName":"MdagTestUser-D547B268",
"Profile":"{\"Version\":1,\"Keys\":{\"1\":\"%D0%9E%D0%93%D0%A0%D0%9D\",\"2\":\"%D0%9E%D0%93%D0%A0%D0%9D%D0%98%D0%9F\",\"3\":\"%D0%A1%D0%9D%D0%98%D0%9B%D0%A1\",\"4\":\"%D0%98%D0%9D%D0%9D\",\"5\":\"%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F %D0%BF%D0%BE%D1%87%D1%82%D0%B0\",\"6\":\"%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%B0\",\"7\":\"%D0%9E%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C\",\"8\":\"%D0%93%D0%BE%D1%80%D0%BE%D0%B4\",\"9\":\"%D0%9E%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F\",\"10\":\"%D0%9F%D0%BE%D0%B4%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5\",\"11\":\"%D0%9E%D0%B1%D1%89%D0%B5%D0%B5 %D0%B8%D0%BC%D1%8F\",\"12\":\"%D0%90%D0%B4%D1%80%D0%B5%D1%81\",\"13\":\"%D0%94%D0%BE%D0%BB%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%8C\",\"14\":\"%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D1%8B\",\"15\":\"%D0%98%D0%BC%D1%8F\",\"16\":\"%D0%A4%D0%B0%D0%BC%D0%B8%D0%BB%D0%B8%D1%8F\"},\"Values\":{}}",
"NonceRequired":true
}
Типовые ошибки
HTTP-код | Ошибка | Описание |
---|---|---|
404 | Пользователь не найден | |
400 | key_not_found | Анонимное устройство с идентификатором [ kid ] не найдено. |
Создание QR-кода с Kinit
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss/init |
Параметры в строке запроса | id - Глобальный идентификатор пользователя (query string) |
Параметры в теле запроса | MyDssKInitRequest - Информация для отправки кода активации |
Возвращаемое значение | MyDssCreatedKeyInfo - Информация об устройстве и K-init |
Примечание
Если настройками сервера отключено требование кодов активации KInit, то параметры Msisdn
и Email
игнорируются.
Примечание
Если настройками сервера включено требование подтверждения контактной информации, то указанные в
параметрах Msisdn
и Email
должны быть заранее зарегистрированы в профиле пользователя.
Если требование подтверждения контактной информации отключено, то код активации KInit будет отправлен на указанный номер телефона или Email. Значения номера телефона или Email не заносятся в профиль пользователя.
Пример запроса
POST https://<hostname>/STS/ums/user/33f03deb-9e31-42ce-a660-1a456190f4a3/mydss/init HTTP/1.1
Content-Type: application/json; charset=utf-8
{}
Пример ответа
HTTP/1.1 200 OK
{
"KeyInfo":
{
"EncryptedBlobs":"ASAAA ... ADQBS9V",
"PublicKey":null,
"Seed":null,
"ActivationRequired":false,
"ServiceUrl":"https:/hostname:4430/mydss",
"Alias":null,
"Uid":"33f03deb-9e31-42ce-a660-1a456190f4a3",
"Kid":"73128502",
"DeviceName":null,
"NotBefore":1574880257,
"NotAfter":1614451457,
"State":"Active",
"UserName":null,
"Profile":null,
"NonceRequired":false
},
"QrCode":"R0lGODlhLAEsAf...",
"QRCodeData": "{\"type\":\"Kinit\",\"version\":1,\"data\":{\"kid\":\"73128502\",\"uid\":\"33f03deb-9e31-42ce-a660-1a456190f4a3\",\"service_url\":\"https://hostname:4430/mydss\",\"key_content\":\"ASAAAB5mAA ... BS9V\",\"activation_required\":false,\"weakness\":true}}"
}
HTTP-код | Ошибка | Описание |
---|---|---|
404 | Пользователь не найден | |
400 | initialization_key_already_exists | У пользователя уже есть ключ инициализации нового устойства. |
400 | invalid_contact_info | * Параметр [Msisdn] не задан или имеет невалидный формат. * Нет возможности отправить вторую часть ключевой информации: не задана контактная информация пользователя. |
400 | wrong_operation | * Нет возможности отправить вторую часть ключевой информации: не настроен модуль оповещения. * Контактная информация [ contact ] типа [contactType ] не добавлена для этого пользователя. |
400 | invalid_license | |
500 | internal_error | Внутренняя ошибка сервиса. Необходимо обратиться к Администратору. |
Получение существующего QR-кода с Kinit
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss/init/get |
Параметры в строке запроса | id - Глобальный идентификатор пользователя (не является частью query string) |
Параметры в теле запроса | - |
Возвращаемое значение | MyDssCreatedKeyInfo - Информация об устройстве и K-init |
Пример запроса
POST https://<hostname>/STS/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/mydss/init/get HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
{
"KeyInfo":
{
"EncryptedBlobs":"ASAAA ... ADQBS9V",
"PublicKey":null,
"Seed":null,
"ActivationRequired":false,
"ServiceUrl":"https:/hostname:4430/mydss",
"Alias":null,
"Uid":"33f03deb-9e31-42ce-a660-1a456190f4a3",
"Kid":"73128502",
"DeviceName":null,
"NotBefore":1574880257,
"NotAfter":1614451457,
"State":"Active",
"UserName":null,
"Profile":null,
"NonceRequired":false
},
"QrCode":"R0lGODlhLAEsAf...",
"QRCodeData": "{\"type\":\"Kinit\",\"version\":1,\"data\":{\"kid\":\"73128502\",\"uid\":\"33f03deb-9e31-42ce-a660-1a456190f4a3\",\"service_url\":\"https://hostname:4430/mydss\",\"key_content\":\"ASAAAB5mAA ... BS9V\",\"activation_required\":false,\"weakness\":true}}"
}
HTTP-код | Ошибка | Описание |
---|---|---|
404 | Пользователь не найден | |
400 | key_not_found | Ключ инициализации не найден. |
Повторная отправка кода активации на KInit
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}mydss/init/resendotp |
Параметры в строке запроса | id - Глобальный идентификатор пользователя (не является частью query string) |
Параметры в теле запроса | MyDssKInitRequest - Информация для отправки кода активации |
Возвращаемое значение | MyDssCreatedKeyInfo - Информация об устройстве и K-init |
Примечание
Если настройками сервера включено требование подтверждения контактной информации, то указанные в
параметрах Msisdn
и Email
должны быть заранее зарегистрированы в профиле пользователя.
Если требование подтверждения контактной информации отключено, то код активации KInit будет отправлен на указанный номер телефона или Email. Значения номера телефона или Email не заносятся в профиль пользователя.
Пример запроса
POST https://<hostname>/STS/ums/user/33f03deb-9e31-42ce-a660-1a456190f4a3/mydss/init/resendotp HTTP/1.1
Content-Type: application/json; charset=utf-8
{"msisdn":"71234567890"}
Пример ответа
HTTP/1.1 200 OK
{
"KeyInfo":
{
"EncryptedBlobs":"ASAAA ... ADQBS9V",
"PublicKey":null,
"Seed":null,
"ActivationRequired":false,
"ServiceUrl":"https:/hostname:4430/mydss",
"Alias":null,
"Uid":"33f03deb-9e31-42ce-a660-1a456190f4a3",
"Kid":"73128502",
"DeviceName":null,
"NotBefore":1574880257,
"NotAfter":1614451457,
"State":"Active",
"UserName":null,
"Profile":null,
"NonceRequired":false
},
"QrCode":"R0lGODlhLAEsAf...",
"QRCodeData": "{\"type\":\"Kinit\",\"version\":1,\"data\":{\"kid\":\"73128502\",\"uid\":\"33f03deb-9e31-42ce-a660-1a456190f4a3\",\"service_url\":\"https://hostname:4430/mydss\",\"key_content\":\"ASAAAB5mAA ... BS9V\",\"activation_required\":false,\"weakness\":true}}"
}
HTTP-код | Ошибка | Описание |
---|---|---|
404 | Пользователь не найден | |
400 | key_not_found | Ключ инициализации не найден. |
400 | invalid_contact_info | * Параметр [Msisdn] не задан или имеет невалидный формат. * Нет возможности отправить вторую часть ключевой информации: не задана контактная информация пользователя. |
400 | wrong_operation | * У ключа инициализации нового устойства нет кода активации. * Нет возможности отправить вторую часть ключевой информации: не настроен модуль оповещения. * Контактная информация [ contact ] типа [contactType ] не добавлена для этого пользователя. |
Удаление QR-кода с Kinit
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss/init/delete |
Параметры в строке запроса | id - Глобальный идентификатор пользователя (не является частью query string) |
Параметры в теле запроса | - |
Возвращаемое значение | Отсутствует |
Пример запроса
POST https://<hostname>/STS/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/mydss/init/delete HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Типовые ошибки
HTTP-код | Ошибка | Описание |
---|---|---|
404 | Пользователь не найден | |
400 | wrong_operation | У пользователя нет ключа инициализации нового устойства. |
Получение QR-код с Nonce
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss/verify/get |
Параметры в строке запроса | id - Глобальный идентификатор пользователя (не является частью query string) |
Параметры в теле запроса | MyDssGetVerificationDataRequest - Информация об устройстве |
Возвращаемое значение | Отсутствует |
Пример запроса
POST https://<hostname>/STS/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/mydss/verify/get HTTP/1.1
Content-Type: application/json; charset=utf-8
{"Kid":"73128110"}
Пример ответа
HTTP/1.1 200 OK
{
"QrCode":"R0lGODlhLA ... RczdZ8zdiczdq8zdzczd78zeAczuI8zuRczuZ8zuisEgEBADs=",
"QrCodeData":"{\"type\":\"Verification\",\"version\":1,\"data\":{\"kid\":\"73128110\",\"uid\":\"8d16086d-676c-49d6-bf49-09e6f936a596\",\"service_url\":\"https://teststand.cryptopro.ru:4430/mydss\",\"seed\":\"DQiMn1xAvdQFQlAR4ceB3NkWaevDppM7klIVOZZssTc=\",\"nonce\":\"cKx+pdmejI/SRz3OQex32wd6vNF7oVni6LsAf7SfOZw=\"}}",
"Data":
{
"type":"Verification",
"version":1,
"data":
{
"kid":"73128110",
"uid":"8d16086d-676c-49d6-bf49-09e6f936a596",
"service_url":"https://hostname:4430/mydss",
"seed":"DQiMn1xAvdQFQlAR4ceB3NkWaevDppM7klIVOZZssTc=",
"nonce":"cKx+pdmejI/SRz3OQex32wd6vNF7oVni6LsAf7SfOZw="
}
}
}
Получение информации о ключах аутентификации myDSS
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss |
Параметры в строке запроса | id - Глобальный идентификатор пользователя (не является частью query string) |
Параметры в теле запроса | - |
Возвращаемое значение | UserMyDssAuthInfo - сведения об устройствах пользователя |
Пример запроса
POST https://<hostname>/STS/ums/user/8d16086d-676c-49d6-bf49-09e6f936a596/mydss HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
{
"UserId":"8d16086d-676c-49d6-bf49-09e6f936a596",
"Keys":
[
{
"Uid":"8d16086d-676c-49d6-bf49-09e6f936a596",
"Kid":"73128110",
"DeviceName":"MyApple",
"NotBefore":1574869065,
"NotAfter":1614440265,
"State":"NotVerified",
"UserName":"MdagTestUser-D547B268",
"Profile":"{\"Version\":1,\"Keys\":{\"1\":\"%D0%9E%D0%93%D0%A0%D0%9D\",\"2\":\"%D0%9E%D0%93%D0%A0%D0%9D%D0%98%D0%9F\",\"3\":\"%D0%A1%D0%9D%D0%98%D0%9B%D0%A1\",\"4\":\"%D0%98%D0%9D%D0%9D\",\"5\":\"%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F %D0%BF%D0%BE%D1%87%D1%82%D0%B0\",\"6\":\"%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%B0\",\"7\":\"%D0%9E%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C\",\"8\":\"%D0%93%D0%BE%D1%80%D0%BE%D0%B4\",\"9\":\"%D0%9E%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F\",\"10\":\"%D0%9F%D0%BE%D0%B4%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5\",\"11\":\"%D0%9E%D0%B1%D1%89%D0%B5%D0%B5 %D0%B8%D0%BC%D1%8F\",\"12\":\"%D0%90%D0%B4%D1%80%D0%B5%D1%81\",\"13\":\"%D0%94%D0%BE%D0%BB%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%8C\",\"14\":\"%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D1%8B\",\"15\":\"%D0%98%D0%BC%D1%8F\",\"16\":\"%D0%A4%D0%B0%D0%BC%D0%B8%D0%BB%D0%B8%D1%8F\"},\"Values\":{\"5\":\"E12\",\"7\":\"S10\",\"8\":\"L9\",\"9\":\"O8\",\"10\":\"OU7\",\"11\":\"CN6\",\"12\":\"Street5\",\"13\":\"T4\",\"14\":\"I3\",\"15\":\"G2\",\"16\":\"SN1\"}}",
"NonceRequired":true
}
],
"InitializationToken":null}
Блокировка/разблокировка устройства пользователя
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss/lockout |
Параметры в строке запроса | id - Глобальный идентификатор пользователя (не является частью query string) |
Параметры в теле запроса | MyDssLockoutDeviceRequest - Информация об устройстве |
Возвращаемое значение | MyDssKeyInfo - Обновленная нформация об устройстве |
Пример запроса
POST https://<hostname>/STS/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/mydss/lockout HTTP/1.1
Content-Type: application/json; charset=utf-8
{
"Kid": "73128110",
"Lock": true
}
Пример ответа
HTTP/1.1 200 OK
{
"Uid": "9fba6076-3509-4e8e-abc1-dae6d052a230",
"Kid": "73128110",
"DeviceName": "MyApple",
"NotBefore":1574869065,
"NotAfter":1614440265,
"State": "NotVerified,Blocked",
"UserName": "MdagTestUser-D547B268",
"Profile":"{\"Version\":1,\"Keys\":{\"1\":\"%D0%9E%D0%93%D0%A0%D0%9D\",\"2\":\"%D0%9E%D0%93%D0%A0%D0%9D%D0%98%D0%9F\",\"3\":\"%D0%A1%D0%9D%D0%98%D0%9B%D0%A1\",\"4\":\"%D0%98%D0%9D%D0%9D\",\"5\":\"%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F %D0%BF%D0%BE%D1%87%D1%82%D0%B0\",\"6\":\"%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%B0\",\"7\":\"%D0%9E%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C\",\"8\":\"%D0%93%D0%BE%D1%80%D0%BE%D0%B4\",\"9\":\"%D0%9E%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F\",\"10\":\"%D0%9F%D0%BE%D0%B4%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5\",\"11\":\"%D0%9E%D0%B1%D1%89%D0%B5%D0%B5 %D0%B8%D0%BC%D1%8F\",\"12\":\"%D0%90%D0%B4%D1%80%D0%B5%D1%81\",\"13\":\"%D0%94%D0%BE%D0%BB%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%8C\",\"14\":\"%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D1%8B\",\"15\":\"%D0%98%D0%BC%D1%8F\",\"16\":\"%D0%A4%D0%B0%D0%BC%D0%B8%D0%BB%D0%B8%D1%8F\"},\"Values\":{\"5\":\"E12\",\"7\":\"S10\",\"8\":\"L9\",\"9\":\"O8\",\"10\":\"OU7\",\"11\":\"CN6\",\"12\":\"Street5\",\"13\":\"T4\",\"14\":\"I3\",\"15\":\"G2\",\"16\":\"SN1\"}}",
"NonceRequired":true
}
Удаление вектора аутентификации пользователя
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss/delete |
Параметры в строке запроса | id - Глобальный идентификатор пользователя (не является частью query string) |
Параметры в теле запроса | MyDssDeleteKeyRequest - Информация об устройстве |
Возвращаемое значение | Отсутствует |
Пример запроса
POST https://<hostname>/STS/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/mydss/delete HTTP/1.1
Content-Type: application/json; charset=utf-8
{"Kid":"73128110"}
Пример ответа
HTTP/1.1 200 OK
Удаление всех векторов аутентификации myDSS
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss |
Параметры в строке запроса | id - Глобальный идентификатор пользователя (не является частью query string) |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/mydss HTTP/1.1
Пример ответа
HTTP/1.1 200 OK