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

    Настройка аутентификации при помощи мобильного приложения

    • Назначить пользователю существующее мобильное устройство
    • Создание QR-кода с Kinit
    • Получение существующего QR-кода с Kinit
    • Отправка QR-кода на email
    • Повторная отправка кода активации на KInit
    • Удалить QR-код с Kinit
    • Получение QR-кода с Nonce
    • Получение информации о ключах аутентификации
    • Блокировка/разблокировка устройства пользователя
    • Удаление вектора аутентификации пользователя
    • Удаление всех векторов аутентификации

    Назначение пользователю существующего мобильного устройства

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss/assign
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса MyDssAssignKeyRequest - Информация о добавляемом устройстве
    Возвращаемое значение MyDssKeyInfo - Информация об устройстве

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/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 - Информация для получения QR-кода и отправки кода активации
    Возвращаемое значение MyDssCreatedKeyInfoEx - Информация об устройстве и K-init
    Примечание

    Если настройками сервера отключено требование кодов активации KInit, то параметры Msisdn и Email игнорируются.

    Примечание

    Если настройками сервера включено требование подтверждения контактной информации, то указанные в параметрах Msisdn и Email должны быть заранее зарегистрированы в профиле пользователя.

    Если требование подтверждения контактной информации отключено, то код активации KInit будет отправлен на указанный номер телефона или Email. Значения номера телефона или Email не заносятся в профиль пользователя.

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/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/mdagname",
                "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)
    Параметры в теле запроса -
    Возвращаемое значение MyDssCreatedKeyInfoEx - Информация об устройстве и K-init

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/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/mdagname",
                "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 Ключ инициализации не найден.

    Отправка QR-кода на email

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}mydss/init/sendqr
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса MyDssKInitSendRequest - Информация для отправки QR-кода (email)
    Возвращаемое значение -

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/mydss/sendqr HTTP/1.1
    
    {
        "Email": "example@info.ru"
    }
    

    Пример ответа

    HTTP/1.1 200 OK
    
    HTTP-код Ошибка Описание
    404 Пользователь не найден.
    400 key_not_found У пользователя нет ключа инициализации нового устройства.
    400 invalid_contact_info Нет возможности отправить вторую часть ключевой информации: не задана контактная информация пользователя.
    400 wrong_operation * Возможность отправки QR-кода по электронной почте отключена.
    * Нет возможности отправить вторую часть ключевой информации: не настроен модуль оповещения.
    * Контактная информация [%email%] типа [EmailAddress] не добавлена для этого пользователя.
    400 contact_information_required Контактная информация [%email%] типа [EmailAddress] не подтверждена.

    Повторная отправка кода активации на KInit

    Параметр Значение
    HTTP-метод POST
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}mydss/init/resendotp
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса MyDssKInitRequest - Информация для получения QR-кода и отправки кода активации
    Возвращаемое значение -
    Примечание

    Если настройками сервера включено требование подтверждения контактной информации, то указанные в параметрах Msisdn и Email должны быть заранее зарегистрированы в профиле пользователя.

    Если требование подтверждения контактной информации отключено, то код активации KInit будет отправлен на указанный номер телефона или Email. Значения номера телефона или Email не заносятся в профиль пользователя.

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/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
    
    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}}/{{instanceName}}/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}}/{{instanceName}}/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="
            }
        }
    }
    

    Получение информации о ключах аутентификации

    Параметр Значение
    HTTP-метод GET
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение UserMyDssAuthInfo - сведения об устройствах пользователя

    Пример запроса

    POST https://{{hostName}}/{{instanceName}}/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}}/{{instanceName}}/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}}/{{instanceName}}/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
    

    Удаление всех векторов аутентификации

    Параметр Значение
    HTTP-метод DELETE
    Путь https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss
    Параметры в строке запроса id - Глобальный идентификатор пользователя (не является частью query string)
    Параметры в теле запроса -
    Возвращаемое значение -

    Пример запроса

    DELETE https://{{hostName}}/{{instanceName}}/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/mydss HTTP/1.1
    

    Пример ответа

    HTTP/1.1 200 OK
    
    В начало © ООО "КРИПТО-ПРО", 2000–2025