Конечная точка SelfUser
Конечная точка SelfUser Сервиса Управления Пользователями для пользователя представлена следующими группами HTTP-методов:
- Операции с пользователями
- Настройка различительного имени пользователя
- Настройка групп пользователей
- Настройка логина пользователя
- Настройка пароля пользователя
- Настройка номера телефона пользователя
- Настройка адреса электронной почты пользователя
- Настройка Push-адресов пользователей
- Настройка протокола OATH (одноразовые пароли на брелках)
- Общие настройки аутентификации
- Настройка аутентификации по методу SimAuth
- Настройка аутентификации по методу MobileAuth
- Настройка аутентификации DSS Client
- Настройка политики подтверждения операций
- Настройка политики доступа к операциям
- Настройка политики оповещения
- Настройка протокола OAuth
Примечание
Обращение к Сервису Управления Пользователями (UMS) требует аутентификации пользователя в DSS. Для этого необходимо предъявить соответствующий сертификат аутентификации (взаимодействие осуществляется по протоколу ГОСТ-TLS с двусторонней аутентификацией) или токен аутентификации. Для краткости примеры запросов в данном разделе предоставляются без указания аутентификационных данных.
Операции с пользователями
Данная группа методов предоставляет способы добавления, удаления и настройки пользователей.
Получение информации о пользователе
GetInfo
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/info |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | UmsUserInfo - Сведения об учетной записи пользователя |
Пример запроса
GET https://<hostname>/STS/self/info HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 44
Пример ответа
{
"UserId": "aae934e3-74c2-4cce-854a-c329ea52a827",
"DisplayName": null,
"RdnPolicy": {
"Rdns": [
{
"Id": 1,
"Oid": "2.5.4.3",
"DisplayName": "Общее имя",
"StringIdentifier": "CN",
"Order": 6,
"ValueType": "String",
"MinLength": 0,
"MaxLength": 128,
"Required": false,
"ValueSet": []
},
...
]
},
"OperationPolicy": {
"Policy": [
{
"Action": "Issue",
"ConfirmationRequired": false
},
{
"Action": "SignDocument",
"ConfirmationRequired": false
},
...
],
"ChangesAllowed": true
},
"AccessPolicy": {
"Policy": [
{
"Action": "SignDocument",
"AccessDenied": false
},
{
"Action": "DecryptDocument",
"AccessDenied": false
},
...
],
"ChangesAllowed": true
},
"NotificationPolicy": {
"Policy": {},
"ChangesAllowed": false,
"AvailableNotifiers": [
"SMS",
"Push"
]
}
}
Назначение отображаемого имени в профиле пользователя
SetUserDisplayName
Параметр | Значение |
---|---|
HTTP-метод | PATCH, POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/displayName |
Параметры в строке запроса | - |
Параметры в теле запроса | displayName - Отображаемое имя пользователя |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/displayName
Content-Type: application/json; charset=utf-8
Content-Length: 44
"User"
Пример ответа
HTTP/1.1 200 OK
Настройка различительного имени пользователя
Данная группа методов предоставляет способы работы с различительным именем пользователя.
Назначение различительного имени пользователю
SetUserDistinguishedName
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/dn |
Параметры в строке запроса | - |
Параметры в теле запроса | components - Словарь компонентов различительного имени формата IDictionary<int, string> |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/dn
Content-Type: application/json; charset=utf-8
Content-Length: 16
{
"1": "SampleCN"
}
Пример ответа
HTTP/1.1 200 OK
Получение списка компонентов различительного имени пользователя
GetUserDistinguishedName
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/dn |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | Dictionary<int, string> - Компоненты различительного имени пользователя |
Примечание: ключом словаря является идентификатор компонента имени пользователя. Список поддерживаемых ЦИ компонентов имени пользователя можно получить из политики Сервиса Управления Пользователями (ссылка на GetPolicy)
Пример запроса
GET https://<hostname>/STS/self/dn
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 58
{
"1": "UmsSampleUser-f3d5fdfe-9da7-436f-8245-908aafa1213e"
}
Настройка групп пользователей
Данная группа методов предоставляет способы работы с группами пользователей.
Получение имени группы пользователя
GetUserGroup
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/group |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | Имя группы пользователя (String) |
Пример запроса
GET https://<hostname>/STS/self/group
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 9
"Default"
Настройка логина пользователя
Данная группа методов позволяет добавлять, удалять и получать сведения о логине учетной записи пользователя.
Установка локального логина учетной записи пользователя
SetUserLocalLogin
Добавляет локальный логин пользователю или заменяет его, если логин уже существует.
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/login/local?newLogin={newLogin} |
Параметры в строке запроса | newLogin - Новый локальный логин пользователя |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/login/local?newLogin=TestLogin123 HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Установка внешнего логина учетной записи пользователя
SetUserLogin
Добавляет внешний логин пользователю или заменяет его, если логин уже существует. Имя ЦИ и внешний логин будет получено из переданного в методе токена внешнего ЦИ.
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/login |
Параметры в строке запроса | - |
Параметры в теле запроса | ExternalLoginTokenInfo - Структура для создания внешнего логина |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/login
Content-Type: application/json; charset=utf-8
Content-Length: 48
{
"SubjectToken": "{значение_токена}",
"SubjectTokenType": "{тип_токена}"
}
Пример ответа
HTTP/1.1 200 OK
Получение логинов пользователя
GetUserLogin
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/login |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | List<ExternalLoginInfo> - Список логинов пользователя |
Пример запроса
GET https://<hostname>/STS/self/login
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 50
[{
"Login": "UmsSampleUser",
"IssuerName": "realsts"
}]
Удаление локального логина пользователя
DeleteUserLocalLogin
Метод удаляет локальный логин пользователя.
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/login/local |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/ums/self/login/local HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Удаление логина пользователя
DeleteUserLogin
Метод удаляет локальный или внешний логин пользователя.
- Для удаления локального логина:
?issuerName=realsts
. - Для удаления внешнего логина: указать в параметре
issuerName
имя ЦИ, логин в котором необходимо удалить. - При выполнении метода без использования параметра
issuerName
будет удален тот внешний логин, (зарегистрированный для внешнего ЦИ) пользователя, из-под которого Оператор выполнил вход (получил соответствующий токен безопасности) для выполнения указанного метода.
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/login |
Параметры в строке запроса | issuerName - имя ЦИ, в котором необходимо удалить логин (необязательный параметр) |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/self/login?issuerName=SampleSTS
Пример ответа
HTTP/1.1 200 OK
Настройка пароля пользователя
Данная группа методов позволяет управлять паролями пользователей.
Генерация пароля пользователя
GeneratePassword
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/password/generate |
Параметры в строке запроса | - |
Параметры в теле запроса | GeneratePasswordRequest - Запрос на генерацию пароля |
Возвращаемое значение | Новый пароль пользователя (String) |
Примечание
Если у пользователя еще нет пароля, в теле запроса необходимо передать {}
.
Пример запроса
POST https://<hostname>/STS/self/password/generate
Content-Type: application/json; charset=utf-8
Content-Length: 2
{
"OldPassword": "3Lsv4M9T"
}
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 56
"Kejekje5hel23"
-->
Смена пароля пользователя
ChangePassword
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/password/change |
Параметры в строке запроса | - |
Параметры в теле запроса | GeneratePasswordChange - Запрос на изменение пароля |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/password/change
Content-Type: application/json; charset=utf-8
Content-Length: 2
{
"OldPassword": "3Lsv4M9T",
"Password": "Osh3k53f"
}
Пример ответа
HTTP/1.1 200 OK
Настройка номера телефона пользователя
Данная группа методов позволяет управлять номерами телефонов пользователей.
Получение списка телефонов пользователя
GetUserPhones
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/phones |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | List<UserContactInfo> - Контактная информация пользователя |
Пример запроса
GET https://<hostname>/STS/self/phones HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 115
[{
"Type": "PhoneNumber",
"Contact": "79991234568",
"Confirmed": false,
"Primary": false,
"Notification": false,
"Usages": []
}]
Добавление телефона пользователя
AddUserPhone
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/phones |
Параметры в строке запроса | - |
Параметры в теле запроса | phone - Номер телефона пользователя |
Возвращаемое значение | UserContactInfo - Контактная информация пользователя |
Пример запроса
POST https://<hostname>/STS/self/phones HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 18
"+7(999)123-45-60"
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 110
{
"Type": "PhoneNumber",
"Contact": "79991234560",
"Confirmed": true,
"Primary": true,
"Notification": true,
"Usages": []
}
Подтверждение номера телефона пользователя
Метод используется, если не требуется отправка одноразового пароля.
ConfirmUserPhone
Параметр | Значение |
---|---|
HTTP-метод | POST, PATCH |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/phones/{phone}/confirm |
Параметры в строке запроса | phone - Номер телефона пользователя (не является частью query string) |
Параметры в теле запроса | - |
Возвращаемое значение | UserContactInfo - Контактная информация пользователя |
Пример запроса
POST https://<hostname>/STS/self/phones/79991234568/confirm
Content-Type: application/json; charset=utf-8
Content-Length: 2
{}
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 110
{
"Type": "PhoneNumber",
"Contact": "79991234568",
"Confirmed": true,
"Primary": true,
"Notification": true,
"Usages": []
}
Запрос отправки одноразового пароля для подтверждения номера телефона
RequireUserPhoneConfirmation
Параметр | Значение |
---|---|
HTTP-метод | POST, PATCH |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/phones/{phone}/requireconfirm |
Параметры | phone - Номер телефона пользователя (не является частью query string) |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/phones/71238889900/requireconfirm HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 2
{}
Пример ответа
HTTP/1.1 200 OK
Подтверждение номера телефона при помощи кода подтверждения (одноразового пароля)
SubmitUserPhoneConfirmation
Параметр | Значение |
---|---|
HTTP-метод | POST, PATCH |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/phones/{phone}/submitconfirm |
Параметры в строке запроса | phone - Номер телефона пользователя (не является частью query string) |
Параметры в теле запроса | confirmationCode - Код подтверждения |
Возвращаемое значение | UserContactInfo - Контактная информация пользователя |
Пример запроса
POST https://<hostname>/STS/self/phones/71238889900/submitconfirm HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 7
"91830"
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 110
{
"Type": "PhoneNumber",
"Contact": "71238889900",
"Confirmed": true,
"Primary": true,
"Notification": true,
"Usages": []
}
Установка номера телефона пользователя для идентификации (входа)
SetUserPrimaryPhone
Параметр | Значение |
---|---|
HTTP-метод | POST, PATCH |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/phones/{phone}/primary |
Параметры в строке запроса | phone - Номер телефона пользователя (не является частью query string) primary - флаг, отвечающий за назначение телефона в качестве логина для идентификации (если это не запрещено на сервере) |
Параметры в теле запроса | primary - флаг, отвечающий за назначение телефона в качестве логина для идентификации (если это не запрещено на сервере) |
Возвращаемое значение | UserContactInfo - Контактная информация пользователя |
Пример запроса
POST https://<hostname>/STS/self/phones/79991234569/primary HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 5
false
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 111
{
"Type": "PhoneNumber",
"Contact": "79991234569",
"Confirmed": true,
"Primary": false,
"Notification": true,
"Usages": []
}
Установка номера телефона для получения уведомлений
SetUserNotificationPhone
Параметр | Значение |
---|---|
HTTP-метод | POST, PATCH |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/phones/{phone}/notification |
Параметры в строке запроса | phone - Номер телефона пользователя (не является частью query string) |
Параметры в теле запроса | notification - флаг, отвечающий за возможность получать уведомления на заданный номер |
Возвращаемое значение | UserContactInfo - Контактная информация пользователя |
Пример запроса
POST https://<hostname>/STS/self/phones/79991234569/notification HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 5
false
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 112
{
"Type": "PhoneNumber",
"Contact": "79991234569",
"Confirmed": true,
"Primary": false,
"Notification": false,
"Usages": []
}
Назначение номера телефона для вторичной аутентификации и/или подтверждения операций
SetUserSecondaryAuthPhone
Параметр | Значение |
---|---|
HTTP-метод | POST, PATCH |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/phones/{phone}/secondaryauth |
Параметры в строке запроса | phone - Номер телефона пользователя (не является частью query string) |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/phones/71238889900/secondaryauth HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 2
{}
Пример ответа
HTTP/1.1 200 OK
Удаление номера телефона пользователя
DeleteUserPhone
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/phones/{phone}/ |
Параметры в строке запроса | phone - Номер телефона пользователя (не является частью query string) |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/self/phones/79991234560/ HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
(Для обратной совместимости) Назначение номера телефона для вторичной аутентификации и/или подтверждения операций
GetUserPhoneTokenInfo
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/phonenumber |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | UserPhoneInfo - Информация о номере телефона пользователя |
Пример запроса
GET https://<hostname>/STS/self/phonenumber HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 46
{
"PhoneNumber": "79150000000",
"Confirmed": true
}
(Для обратной совместимости) Установка номера телефона как основного (для входа, вторичной аутентификации, оповещения)
SetUserMainPhone
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/phonenumber |
Параметры в строке запроса | - |
Параметры в теле запроса | phone - Номер телефона пользователя |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/phonenumber HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 13
"79150000000"
Пример ответа
HTTP/1.1 200 OK
Открепление номера телефона от использования для вспомогательной аутентификации
Примечание
Данный метод может быть использован только если отключен соответствующий метод аутентификации (одноразовые пароли, доставляемые посредством SMS-сообщений, см. SetUserAuthenticationMethodOtpViaSms).
DeleteUserPhone
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/phonenumber |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/self/phonenumber HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Настройка адреса электронной почты пользователя
Данная группа методов позволяет управлять адресами электронной почты пользователей.
Получение списка адресов электронной почты пользователей
GetUserEmails
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/emails |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | UserContactInfo - Контактная информация пользователя |
Пример запроса
GET https://<hostname>/STS/self/emails HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 320
[{
"Type": "EmailAddress",
"Contact": "asdad@asd.rrurururu",
"Confirmed": true,
"Primary": true,
"Notification": true,
"Usages": [{
"Type": "OTP",
"Title": "Одноразовые пароли",
"Description": "Адресат получения одноразовых паролей для подтверждения операций"
}]
}]
Добавление адреса электронной почты пользователя
AddUserEmail
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/emails |
Параметры в строке запроса | - |
Параметры в теле запроса | email - Адрес электронной почты пользователя |
Возвращаемое значение | UserContactInfo - Контактная информация пользователя |
Пример запроса
POST https://<hostname>/STS/self/emails HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 33
"umscontactinfotestuser@test1.ru"
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 131
{
"Type": "EmailAddress",
"Contact": "umscontactinfotestuser@test1.ru",
"Confirmed": true,
"Primary": true,
"Notification": true,
"Usages": []
}
Подтверждение адреса электронной почты пользователя
Метод используется, если не требуется отправка одноразового пароля.
ConfirmUserEmail
Параметр | Значение |
---|---|
HTTP-метод | POST, PATCH |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/emails/{email}/confirm |
Параметры в строке запроса | email - Адрес электронной почты пользователя (не является частью query string) |
Параметры в теле запроса | - |
Возвращаемое значение | UserContactInfo - Контактная информация пользователя |
Примечание
Адрес электронной почты перед помещением в запрос должен быть перекодирован в соответствии с правилами кодирования URL-адресов.
Пример запроса
POST https://<hostname>/STS/self/emails/umscontactinfotestuser@test2.ru/confirm HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 2
{}
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 131
{
"Type": "EmailAddress",
"Contact": "umscontactinfotestuser@test2.ru",
"Confirmed": true,
"Primary": true,
"Notification": true,
"Usages": []
}
Запрос отправки одноразового пароля для подтверждения адреса электронной почты пользователя
RequireUserEmailConfirmation
Параметр | Значение |
---|---|
HTTP-метод | POST, PATCH |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/emails/{email}/requireconfirm |
Параметры в строке запроса | email - Адрес электронной почты пользователя (не является частью query string) |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Примечание
Адрес электронной почты перед помещением в запрос должен быть перекодирован в соответствии с правилами кодирования URL-адресов.
Пример запроса
POST https://<hostname>/STS/self/emails/asdad@asd.rrurururu/requireconfirm HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 2
{}
Пример ответа
HTTP/1.1 200 OK
Подтверждение адреса электронной почты при помощи кода подтверждения (одноразового пароля)
SubmitUserEmailConfirmation
Параметр | Значение |
---|---|
HTTP-метод | POST, PATCH |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/emails/{email}/submitconfirm |
Параметры в строке запроса | email - Адрес электронной почты пользователя (не является частью query string) |
Параметры в теле запроса | confirmationCode - Код подтверждения |
Возвращаемое значение | UserContactInfo - Контактная информация пользователя |
Примечание
Адрес электронной почты перед помещением в запрос должен быть перекодирован в соответствии с правилами кодирования URL-адресов.
Пример запроса
POST https://<hostname>/STS/self/emails/asdad@asd.rrurururu/submitconfirm HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 7
"41069"
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 119
{
"Type": "EmailAddress",
"Contact": "asdad@asd.rrurururu",
"Confirmed": true,
"Primary": true,
"Notification": true,
"Usages": []
}
Установка адреса электронной почты пользователя для идентификации (входа)
SetUserPrimaryEmail
Параметр | Значение |
---|---|
HTTP-метод | POST, PATCH |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/emails/{email}/primary |
Параметры в строке запроса | email - Адрес электронной почты пользователя (не является частью query string) |
Параметры в теле запроса | primary - флаг, отвечающий за назначение почтового адреса в качестве логина для идентификации (если это не запрещено на сервере) |
Возвращаемое значение | UserContactInfo - Контактная информация пользователя |
Примечание
Адрес электронной почты перед помещением в запрос должен быть перекодирован в соответствии с правилами кодирования URL-адресов.
Пример запроса
POST https://<hostname>/STS/self/emails/umscontactinfotestuser@test3.ru/primary HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 5
false
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 132
{
"Type": "EmailAddress",
"Contact": "umscontactinfotestuser@test3.ru",
"Confirmed": true,
"Primary": false,
"Notification": true,
"Usages": []
}
Установка адреса электронной почты для получения уведомлений
SetUserNotificationEmail
Параметр | Значение |
---|---|
HTTP-метод | POST, PATCH |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/emails/{email}/notification |
Параметры в строке запроса | email - Адрес электронной почты пользователя (не является частью query string) |
Параметры в теле запроса | notification - флаг, отвечающий за возможность получать уведомления на заданный почтовый адрес |
Возвращаемое значение | UserContactInfo - Контактная информация пользователя |
Примечание
Адрес электронной почты перед помещением в запрос должен быть перекодирован в соответствии с правилами кодирования URL-адресов.
Пример запроса
POST https://<hostname>/STS/self/emails/umscontactinfotestuser@test3.ru/notification HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 5
false
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 133
{
"Type": "EmailAddress",
"Contact": "umscontactinfotestuser@test3.ru",
"Confirmed": true,
"Primary": false,
"Notification": false,
"Usages": []
}
Установка адреса электронной почты для вторичной аутентификации
SetUserSecondaryAuthEmail
Параметр | Значение |
---|---|
HTTP-метод | POST, PATCH |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/emails/{email}/secondaryauth |
Параметры в строке запроса | email - Адрес электронной почты пользователя (не является частью query string) |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Примечание
Адрес электронной почты перед помещением в запрос должен быть перекодирован в соответствии с правилами кодирования URL-адресов.
Пример запроса
POST https://<hostname>/STS/self/emails/asdad@asd.rrurururu/secondaryauth HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 2
{}
Пример ответа
HTTP/1.1 200 OK
Удаление адреса электронной почты пользователя
DeleteUserEmail
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/emails/{email}/ |
Параметры в строке запроса | email - Адрес электронной почты пользователя (не является частью query string) |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Примечание
Адрес электронной почты перед помещением в запрос должен быть перекодирован в соответствии с правилами кодирования URL-адресов.
Для корректной обработки запроса сервером после адреса электронной почты необходимо
помещать символ /
.
Пример запроса
DELETE https://<hostname>/STS/self/emails/testuser4@dss.ru/ HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
(Для обратной совместимости) Получение информации об адресе электронной почты пользователя назначенном для вспомогательной аутентификации
GetUserEmailTokenInfo
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/email |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | UserEmailInfo - Информация об адресе электронной почты пользователя |
Пример запроса
GET https://<hostname>/STS/self/email
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 32
{
"Email": null,
"Confirmed": false
}
(Для обратной совместимости) Установка адреса электронной почты пользователя в качестве основного (для входа, вторичной аутентификации и оповещения)
SetUserMainEmail
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/email |
Параметры в строке запроса | - |
Параметры в теле запроса | email - Адрес электронной почты пользователя |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/email HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 14
"sample@cp.ru"
Пример ответа
HTTP/1.1 200 OK
(Для обратной совместимости) Удаление адреса электронной почты пользователя
Примечание
Данный метод может быть использован только если отключен соответствующий метод аутентификации (одноразовые пароли, доставляемые посредством Email-сообщений, см. SetUserAuthenticationMethodOtpViaEmail).
DeleteUserEmail
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/email |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/self/email HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Настройка Push-адресов пользователей
Данная группа методов позволяет управлять Push-адресами пользователей.
Получение списка Push-адресов
GetUserPushAddresses
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/pushaddress/{activeOnly} |
Параметры в строке запроса | activeOnly - Получить сведения только об активных устройствах пользователя (не является частью query string) |
Параметры в теле запроса | - |
Возвращаемое значение | List< PushAddressContactInfo > - список Push-адресов пользователя |
Пример запроса
GET https://<hostname>/STS/self/pushaddress/false HTTP/1.1
Пример ответа
GET HTTP/1.1 200 OK
[
{
"PushAddress": {
"Address": "de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh",
"OsType": 2,
"SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4"
},
"SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4",
"SystemName": "feniksmydss",
"Kid": "1389544",
"DeviceName": "HUAWEI P30 Pro DD/*/d73b23435c947219",
"State": "Active",
"ExtendedInfo": null,
"DataSource": "Tokens",
"Type": "PushAddress",
"Contact": "{\"Address\":\"de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh\",\"OsType\":2,\"SystemId\":\"4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4\"}",
"Confirmed": false,
"Primary": false,
"Notification": false,
"Usages": null
}
]
Получение списка Push-адресов с возможностью фильтрации
GetUserPushAddresses
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/pushaddress |
Параметры в строке запроса | PushAddressFilter - фильтр информации о PUSH-адресе пользователя |
Параметры в теле запроса | - |
Возвращаемое значение | List<PushAddressContactInfo> - список Push-адресов пользователя |
Пример запроса
GET https://<hostname>/STS/self/pushaddress?DataSource=all&ActiveOnly=false
Пример ответа
HTTP/1.1 200 OK
[
{
"PushAddress": {
"Address": "de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh",
"OsType": 2,
"SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4"
},
"SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4",
"SystemName": "feniksmydss",
"Kid": "1389544",
"DeviceName": "HUAWEI P30 Pro DD/*/d73b23435c947219",
"State": "Active",
"ExtendedInfo": null,
"DataSource": "All",
"Type": "PushAddress",
"Contact": "{\"Address\":\"de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh\",\"OsType\":2,\"SystemId\":\"4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4\"}",
"Confirmed": true,
"Primary": false,
"Notification": false,
"Usages": []
}
]
Восстановление PUSH-адреса для оповещения пользователя
Метод используется, если по некоторым причинам PUSH-адрес, связанный с мобильным устройством пользователя, был удален из контактной информации пользователя.
RestoreUserPushAdressContact
Параметр | Значение |
---|---|
HTTP-метод | POST, PATCH |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/pushaddress/restore |
Параметры в строке запроса | id - Глобальный идентификатор пользователя (не является частью query string) |
Параметры в теле запроса | PushAddressInfo - информация о PUSH-адресе устройства пользователя |
Возвращаемое значение | PushAddressContactInfo - информация о Push-адресе пользователя |
Пример запроса
POST https://<hostname>/STS/self/pushaddress/restore
{
"Address": "de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh",
"OsType": 2,
"SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4"
}
Пример ответа
HTTP/1.1 200 OK
{
"PushAddress": {
"Address": "de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh",
"OsType": 2,
"SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4"
},
"SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4",
"SystemName": "feniksmydss",
"Kid": "1389544",
"DeviceName": "HUAWEI P30 Pro DD/*/d73b23435c947219",
"State": "Active",
"ExtendedInfo": null,
"DataSource": "All",
"Type": "PushAddress",
"Contact": "{\"Address\":\"de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh\",\"OsType\":2,\"SystemId\":\"4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4\"}",
"Confirmed": true,
"Primary": false,
"Notification": false,
"Usages": null
}
Включение оповещения пользователя посредством PUSH-уведомлений
SetUserNotificationPushAdress
Параметр | Значение |
---|---|
HTTP-метод | POST, PATCH |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/pushaddress/notification/{notification} |
Параметры в строке запроса | notification - флаг, позволяющий включить (true) или отключить (false) оповещение при помощи PUSH-уведомлений (не является частью query string) |
Параметры в теле запроса | PushAddressInfo - информация о PUSH-адресе устройства пользователя |
Возвращаемое значение | PushAddressContactInfo - информация о Push-адресе пользователя |
Пример запроса
POST https://<hostname>/STS/self/pushaddress/notification/true
{
"Address": "de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh",
"OsType": 2,
"SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4"
}
Пример ответа
HTTP/1.1 200 OK
[
{
"PushAddress": {
"Address": "de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh",
"OsType": 2,
"SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4"
},
"SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4",
"SystemName": "feniksmydss",
"Kid": "1389544",
"DeviceName": "HUAWEI P30 Pro DD/*/d73b23435c947219",
"State": "Active",
"ExtendedInfo": null,
"DataSource": "All",
"Type": "PushAddress",
"Contact": "{\"Address\":\"de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh\",\"OsType\":2,\"SystemId\":\"4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4\"}",
"Confirmed": true,
"Primary": false,
"Notification": true,
"Usages": []
}
]
Удаление PUSH-адреса пользователя
DeleteUserPushAddress
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/pushaddress/ |
Параметры в строке запроса | - |
Параметры в теле запроса | PushAddressInfo - информация о PUSH-адресе устройства пользователя |
Возвращаемое значение | PushAddressContactInfo - информация о Push-адресе пользователя |
Пример запроса
DELETE https://<hostname>/STS/self/pushaddress/ HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
[
{
"PushAddress": {
"Address": "de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh",
"OsType": 2,
"SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4"
},
"SystemId": "4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4",
"SystemName": "feniksmydss",
"Kid": "1389544",
"DeviceName": "HUAWEI P30 Pro DD/*/d73b23435c947219",
"State": "Active",
"ExtendedInfo": null,
"DataSource": "All",
"Type": "PushAddress",
"Contact": "{\"Address\":\"de0VprzIT9qXTT6fjhMTZv:APA91bFY2F3j-MfI4YqfUl_bVu-3MMj0mMh6_Sv1cLCKKSNtfBsxEcCtYzkV6z-5_HNGp169e0pWMJ_5410377u4Yx2xPHdUsqJv9zkV7tJNBRsXt-d6FmchqIlc4p7ptUUmZU2zIaZh\",\"OsType\":2,\"SystemId\":\"4dd5e996-50e8-4d08-a68d-1ac2ce0a14e4\"}",
"Confirmed": true,
"Primary": false,
"Notification": true,
"Usages": []
}
]
Настройка протокола OATH (одноразовые пароли на брелках)
Назначение пользователю токена аутентификации HOTP или TOTP
SetUserOtpToken
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/oath |
Параметры в строке запроса | - |
Параметры в теле запроса | OAthTokenInfo - информация о токене, назначаемом пользователю |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/oath HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 62
{
"Serial": "AA000001",
"FirstOtp": "189034",
"SecondOtp": "223303"
}
Пример ответа
HTTP/1.1 200 OK
Получение информации о прикрепленном к пользователю токене
GetUserOtpTokenInfo
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/oath |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | UserOtpTokenInfo - Информация об OTP-токене пользователя |
Пример запроса
GET https://<hostname>/STS/self/oath HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 35
{
"Serial": "AA000001",
"Type": "HOTP"
}
Удаление закрепленного за пользователем токена
RemoveUserOtpToken
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/oath |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/self/oath HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Общие настройки аутентификации
Получение схемы аутентификации пользователя
GetUserAuthenticationScheme
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/authmethod |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | List<AuthenticationInfo> - Список с информацией о шагах схемы аутентификации пользователя |
Пример запроса
GET https://<hostname>/STS/self/authmethod HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 194
[{
"MethodUri": "http: //schemas.microsoft.com/ws/2012/09/identity/authenticationmethod/none",
"Level": 0
},
{
"MethodUri": "http: //dss.cryptopro.ru/identity/authenticationmethod/otpviaemail",
"Level": 1
}]
Назначение метода аутентификации пользователя Identification Only
SetUserAuthenticationMethodIdOnly
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/authmethod/idonly |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/authmethod/idonly HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 2
{}
Пример ответа
HTTP/1.1 200 OK
Удаление метода аутентификации пользователя Identification Only
DeleteUserAuthenticationMethodIdOnly
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/authmethod/idonly |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/self/authmethod/idonly HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Назначение метода аутентификации пользователя по паролю
SetUserAuthenticationMethodPassword
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/authmethod/password |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/authmethod/password HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 2
{}
Пример ответа
HTTP/1.1 200 OK
Удаление метода аутентификации пользователя по паролю
DeleteUserAuthenticationMethodPasword
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/authmethod/password |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/self/authmethod/password HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Назначение метода аутентификации пользователя по сертификату
SetUserAuthenticationMethodCert
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/authmethod/cert |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/authmethod/cert HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 2
{}
Пример ответа
HTTP/1.1 200 OK
Удаление метода аутентификации пользователя по сертификату
DeleteUserAuthenticationMethodCert
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/authmethod/cert |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/self/authmethod/cert HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Назначение метода аутентификации пользователя через внешний ЦИ
SetUserAuthenticationMethodSaml
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/authmethod/external |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/authmethod/external HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 2
{}
Пример ответа
HTTP/1.1 200 OK
Удаление метода аутентификации пользователя через внешний ЦИ
DeleteUserAuthenticationMethodSaml
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/authmethod/external |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/self/authmethod/external HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Назначение метода аутентификации пользователя через одноразовые пароли по SMS
SetUserAuthenticationMethodOtpViaSms
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/authmethod/otpviasms |
Параметры в строке запроса | level - Шаг аутентификации (int) |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/authmethod/otpviasms?level=1 HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 2
{}
Пример ответа
HTTP/1.1 200 OK
Удаление метода аутентификации пользователя через одноразовые пароли по SMS
DeleteUserAuthenticationMethodOtpViaSms
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/authmethod/otpviasms |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/self/authmethod/otpviasms HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Назначение метода аутентификации пользователя через одноразовые пароли по электронной почте
SetUserAuthenticationMethodOtpViaEmail
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/authmethod/otpviaemail |
Параметры в строке запроса | level - Шаг аутентификации (int) |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/authmethod/otpviaemail?level=1 HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 2
{}
Пример ответа
HTTP/1.1 200 OK
Удаление метода аутентификации пользователя через одноразовые пароли по электронной почте
DeleteUserAuthenticationMethodOtpViaEmail
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/authmethod/otpviaemail |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/self/authmethod/otpviaemail HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Назначение метода аутентификации пользователя через OTP-токен
SetUserAuthenticationMethodOAth
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/authmethod/oath |
Параметры в строке запроса | level - Шаг аутентификации (int) |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/authmethod/oath?level=1 HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 2
{}
Пример ответа
HTTP/1.1 200 OK
Удаление метода аутентификации пользователя через OTP-токен
DeleteUserAuthenticationMethodOAth
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/authmethod/oath |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/self/authmethod/oath HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Назначение метода аутентификации пользователя при помощи апплета на SIM-карте (SimAuth)
SetUserAuthenticationMethodSimAuth
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/authmethod/simauth |
Параметры в строке запроса | level - Шаг аутентификации (int) |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/authmethod/simauth?level=1 HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 2
{}
Пример ответа
HTTP/1.1 200 OK
Удаление метода аутентификации пользователя при помощи апплета на SIM-карте (SimAuth)
DeleteUserAuthenticationMethodSimAuth
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/authmethod/simauth |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/self/authmethod/simauth HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Назначение метода аутентификации пользователя при помощи мобильного приложения myDSS (MobileAuth)
SetUserAuthenticationMethodMobileAuth
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/authmethod/mobileauth |
Параметры в строке запроса | level - Шаг аутентификации (int) |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/authmethod/mobileauth?level=1 HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 2
{}
Пример ответа
HTTP/1.1 200 OK
Удаление метода аутентификации пользователя при помощи мобильного приложения myDSS (MobileAuth)
DeleteUserAuthenticationMethodMobileAuth
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/authmethod/mobileauth |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/self/authmethod/mobileauth HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Назначение метода аутентификации пользователя при помощи мобильного приложения на базе DSS SDK (DSS Client)
SetUserAuthenticationMethodMyDss
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/authmethod/mydss |
Параметры в строке запроса | level - Шаг аутентификации (int) |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/authmethod/mydss?level=1 HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 2
{}
Пример ответа
HTTP/1.1 200 OK
Удаление метода аутентификации пользователя при помощи мобильного приложения на базе DSS SDK (DSS Client)
DeleteUserAuthenticationMethodMyDss
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/authmethod/mydss |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/self/authmethod/mydss HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
-->
Получение подробной аутентификационной информации пользователя
GetUserRawAuthenticationDataAsync
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/rawauthdata |
Параметры в строке запроса | - |
Параметры в теле запроса | UserRawAuthDataRequest - Запрос на аутентификационную информацию пользователя |
Возвращаемое значение | Сведения о запрошенных методах аутентификации пользователя (String) |
Пример запроса
POST https://<hostname>/STS/self/rawauthdata HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 208
{
"UserId": "9fba6076-3509-4e8e-abc1-dae6d052a230",
"AuthnMethods": ["http: //dss.cryptopro.ru/identity/authenticationmethod/password", "http: //dss.cryptopro.ru/identity/authenticationmethod/otpviasms"],
"Format": 0
}
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 460
"{\"UserId\": \"9fba6076-3509-4e8e-abc1-dae6d052a230\",\"AuthMethodInfos\": [{\"AuthnMethod\": \"http: //dss.cryptopro.ru/identity/authenticationmethod/password\",\"Confirmed\": true,\"Parameters\": [{\"Key\": \"HasPassword\",\"Value\": \"True\"}]},{\"AuthnMethod\": \"http: //dss.cryptopro.ru/identity/authenticationmethod/otpviasms\",\"Confirmed\": true,\"Parameters\": [{\"Key\": \"PhoneNumber\",\"Value\": \"78889996655\"},{\"Key\": \"Confirmed\",\"Value\": \"true\"}]}]}"
Настройка аутентификации при помощи апплета на SIM-карте (SimAuth)
Назначение пользователю токена для аутентификации SimAuth
SetUserSimAuthToken
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/simauth |
Параметры в строке запроса | - |
Параметры в теле запроса | SimAuthTokenInfo - Информация о SIM-карте |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/simauth HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 81
{
"IccId": "896010265977857677",
"ProfileId": "3e906aff-8639-463e-af59-07a44a96dd21",
"PhoneNumber": "79150000000"
}
Пример ответа
HTTP/1.1 200 OK
Получение сведений о назначенном пользователю токене аутентификации SimAuth
GetUserSimAuthTokenInfo
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/simauth |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | UserSimAuthInfo - Информация о SIM-карте пользователя |
Пример запроса
GET https://<hostname>/STS/self/simauth HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 151
{
"IccId": "896010265977857677",
"ProfileId": "3e906aff-8639-463e-af59-07a44a96dd21",
"PhoneNumber": "79150000000",
"ActivationCode": null,
"LastKnownStatus": 0
}
Обновление токена аутентификации SimAuth
UpdateSimAuthToken
Параметр | Значение |
---|---|
HTTP-метод | PATCH |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/simauth |
Параметры в строке запроса | - |
Параметры в теле запроса | keyId - идентификатор ключа SIM-карты |
Возвращаемое значение | - |
Пример запроса
PATCH https://<hostname>/STS/self/simauth HTTP/1.1
"896010265977857677"
Пример ответа
HTTP/1.1 200 OK
Удаление у пользователя токена для аутентификации SimAuth
RemoveUserSimAuthToken
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/simauth |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/self/simauth HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Отправка запроса к апплету на SIM-карте
SendSimAuthTokenMessage
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/simauth/message/{messageType} |
Параметры в строке запроса | LifecycleMessageType - Тип сообщения, связанного с жизненным циклом апплета (не является частью query string) |
Параметры в теле запроса | - |
Возвращаемое значение | Идентификатор запроса к SIM-карте (String) |
Пример запроса
POST https://<hostname>/STS/self/simauth/message/GetStatus HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 2
{}
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 9
"7975336"
Отправка запроса к апплету на обновление ключа аутентификации SIM-карты
SendSimAuthTokenChangeKeyMessage
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/simauth/changekeymessage |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | SimAuthChangeKeyRequestResult - Результат отправки запроса на смену ключа аутентификации |
Пример запроса
POST https://<hostname>/STS/self/simauth/changekeymessage HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 2
{}
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 162
{
"TransactionId": "16211709",
"ActivationCode2": ["4899304416","4856874867","3298082352","4329367605","3563813072","1989944545","306179350","2431789802","14006880"]
}
Получение результата выполнения запроса к апплету на SIM-карте
GetSimAuthTokenMessage
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/simauth/message/{transactionId} |
Параметры в строке запроса | transactionId - Идентификатор транзакции\операции (Параметр RefID в ответе Сервиса Подписи\Сервиса Операций) |
Параметры в теле запроса | - |
Возвращаемое значение | SimAuthLifecycleMessageStatusRest - Статус операции |
Пример запроса
GET https://<hostname>/STS/self/simauth/message/7975336 HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 64
{
"AppletResult": 0,
"IsCompleted": false,
"MessageType": "GetStatus"
}
Настройка аутентификации при помощи мобильного приложения myDSS (MobileAuth)
Генерация и назначение пользователю токена аутентификации MobileAuth
CreateUserMobileAuthToken
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/mobileauth |
Параметры в строке запроса | - |
Параметры в теле запроса | MobileAuthTokenInfo - Информация о токене аутентификации MobileAuth |
Возвращаемое значение | MobileAuthCreateInfoEx - Информация о созданном ключе аутентификации MobileAuth |
Пример запроса
POST https://<hostname>/STS/self/mobileauth HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 118
{
"UserContactInfo": "78889996655",
"UserContactInfoType": "PhoneNumber",
"NeedXmlKeyInfo": false,
"DelayedActivation": false
}
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 7687
{
"XmlKeyInfo": "",
"ExternalUserId": "6222662c-d0c5-4077-8942-be328999fdbd",
"QrCode": "R0lGODlhLAEsAfcA......AOw==",
"KeyExpirationTime": "2019-06-29T00: 00: 00"
}
Назначение пользователю существующего токена аутентификации MobileAuth
AssignUserMobileAuthToken
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/mobileauth/assign |
Параметры в строке запроса | - |
Параметры в теле запроса | AssignMobileAuthTokenInfo - Информация о существующем токене аутентификации MobileAuth |
Возвращаемое значение | UserMobileAuthInfo - Информация о созданном ключе аутентификации MobileAuth |
Пример запроса
POST https://<hostname>/STS/self/mobileauth/assign HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 148
{
"Serial": "418551002761789440",
"UserContactInfo": "78889996655",
"UserContactInfoType": "PhoneNumber",
"NeedXmlKeyInfo": false,
"DelayedActivation": false
}
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 184
{
"UserId": "9c937c8e-7e27-4105-b306-974fce87cdd1",
"KeyExpirationTime": "2019-06-29T00: 00: 00",
"IsInstalled": false,
"InstallDate": "0001-01-01T00: 00: 00",
"HasDelayedKey": false,
"KeyVersion": 1
}
Получение информации о ключе аутентификации MobileAuth
GetUserMobileAuthTokenInfo
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/mobileauth |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | UserMobileAuthInfo - Информация о созданном ключе аутентификации MobileAuth |
Пример запроса
GET https://<hostname>/STS/self/mobileauth HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 184
{
"UserId": "9c937c8e-7e27-4105-b306-974fce87cdd1",
"KeyExpirationTime": "2019-06-29T00: 00: 00",
"IsInstalled": false,
"InstallDate": "0001-01-01T00: 00: 00",
"HasDelayedKey": false,
"KeyVersion": 1
}
Повторная отправка кода активации MobileAuth
ResendUserMobileAuthActivationCode
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/mobileauth/activationcode |
Параметры в строке запроса | - |
Параметры в теле запроса | MobileAuthTokenInfo - Информация о токене аутентификации MobileAuth |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/mobileauth/activationcode HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 118
{
"UserContactInfo": "78889996655",
"UserContactInfoType": "PhoneNumber",
"NeedXmlKeyInfo": false,
"DelayedActivation": false
}
Пример ответа
HTTP/1.1 200 OK
Обновление ключевой информации MobileAuth пользователя
UpdateUserMobileAuthToken
Параметр | Значение |
---|---|
HTTP-метод | PATCH |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/mobileauth |
Параметры в строке запроса | - |
Параметры в теле запроса | MobileAuthTokenInfo - Информация о токене аутентификации MobileAuth |
Возвращаемое значение | MobileAuthUpdateInfoEx - Информация об обновленном ключе аутентификации MobileAuth |
Пример запроса
PATCH https://<hostname>/STS/self/mobileauth HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 118
{
"UserContactInfo": "78889996655",
"UserContactInfoType": "PhoneNumber",
"NeedXmlKeyInfo": false,
"DelayedActivation": false
}
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 7671
{
"XmlKeyInfo": "",
"QrCode": "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",
"KeyExpirationTime": "2019-06-29T00: 00: 00"
}
Задание отпечатка мобильного устройства пользователя
SetUserMobileAuthDeviceThumbprint
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/mobileauth/thumbprint |
Параметры в строке запроса | - |
Параметры в теле запроса | deviceThumbprint - Отпечаток устройства пользователя |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/mobileauth/thumbprint HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 14
"12AC65BE0424"
Пример ответа
HTTP/1.1 200 OK
Удаление ключа аутентификации MobileAuth
DeleteUserMobileAuthToken
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/mobileauth |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/self/mobileauth HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Настройка аутентификации DSS Client
- Назначить пользователю существующее мобильное устройство
- Создание QR-кода с Kinit
- Получение существующего QR-кода с Kinit
- Повторная отправка кода активации на KInit
- Удалить QR-код с Kinit
Назначение пользователю существующего мобильного устройства
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/mydss/assign |
Параметры в строке запроса | - |
Параметры в теле запроса | MyDssAssignKeyRequest - Информация о добавляемом устройстве |
Возвращаемое значение | MyDssKeyInfo - Информация об устройстве |
Пример запроса
POST https://<hostname>/STS/self/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://<адрес сервера>/<имя приложения ЦИ>/self/mydss/init |
Параметры в строке запроса | - |
Параметры в теле запроса | MyDssKInitRequest - Информация для отправки кода активации |
Возвращаемое значение | MyDssCreatedKeyInfo - Информация об устройстве и K-init |
Примечание
Если настройками сервера отключено требование кодов активации KInit, то параметры Msisdn
и Email
игнорируются.
Примечание
Если настройками сервера включено требование подтверждения контактной информации, то указанные в
параметрах Msisdn
и Email
должны быть заранее зарегистрированы в профиле пользователя.
Если требование подтверждения контактной информации отключено, то код активации KInit будет отправлен на указанный номер телефона или Email. Значения номера телефона или Email не заносятся в профиль пользователя.
Пример запроса
POST https://<hostname>/STS/self/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://<адрес сервера>/<имя приложения ЦИ>/self/mydss/init/get |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | MyDssCreatedKeyInfo - Информация об устройстве и K-init |
Пример запроса
POST https://<hostname>/STS/self/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://<адрес сервера>/<имя приложения ЦИ>/self/mydss/init/resendotp |
Параметры в строке запроса | - |
Параметры в теле запроса | MyDssKInitRequest - Информация для отправки кода активации |
Возвращаемое значение | MyDssCreatedKeyInfo - Информация об устройстве и K-init |
Примечание
Если настройками сервера включено требование подтверждения контактной информации, то указанные в
параметрах Msisdn
и Email
должны быть заранее зарегистрированы в профиле пользователя.
Если требование подтверждения контактной информации отключено, то код активации KInit будет отправлен на указанный номер телефона или Email. Значения номера телефона или Email не заносятся в профиль пользователя.
Пример запроса
POST https://<hostname>/STS/self/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://<адрес сервера>/<имя приложения ЦИ>/self/mydss/init/delete |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | Отсутствует |
Пример запроса
POST https://<hostname>/STS/self/mydss/init/delete HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Получение QR-код с Nonce
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/mydss/verify/get |
Параметры в строке запроса | - |
Параметры в теле запроса | MyDssGetVerificationDataRequest - Информация об устройстве |
Возвращаемое значение | Отсутствует |
Пример запроса
POST https://<hostname>/STS/self/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://<адрес сервера>/<имя приложения ЦИ>/self/mydss |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | UserMyDssAuthInfo - сведения об устройствах пользователя |
Пример запроса
POST https://<hostname>/STS/self/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}
Блокировка/разблокировка устройства пользователя
SetUserMyDssDeviceLockoutState
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/mydss/lockout |
Параметры в строке запроса | - |
Параметры в теле запроса | MyDssLockoutDeviceRequest - Информация об устройстве |
Возвращаемое значение | MyDssKeyInfo - Обновленная нформация об устройстве |
Пример запроса
POST https://<hostname>/STS/self/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://<адрес сервера>/<имя приложения ЦИ>/self/mydss/delete |
Параметры в строке запроса | - |
Параметры в теле запроса | MyDssDeleteKeyRequest - Информация об устройстве |
Возвращаемое значение | Отсутствует |
Пример запроса
POST https://<hostname>/STS/self/mydss/delete HTTP/1.1
Content-Type: application/json; charset=utf-8
{"Kid":"73128110"}
Пример ответа
HTTP/1.1 200 OK
Удаление всех векторов аутентификации myDSS
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/mydss |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/self/mydss HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Настройка политики подтверждения операций
Получение политики подтверждения операций пользователя
GetUserOperationPolicy
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/operationpolicy |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | List<OperationPolicy> - Политика подтверждения операций пользователя |
Пример запроса
GET https://<hostname>/STS/self/operationpolicy HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 680
[{
"Action": "Issue",
"ConfirmationRequired": false
},
{
"Action": "SignDocument",
"ConfirmationRequired": true
},
{
"Action": "SignDocuments",
"ConfirmationRequired": false
},
{
"Action": "DecryptDocument",
"ConfirmationRequired": false
},
{
"Action": "CreateRequest",
"ConfirmationRequired": true
},
{
"Action": "ChangePin",
"ConfirmationRequired": false
},
{
"Action": "RenewCertificate",
"ConfirmationRequired": false
},
{
"Action": "RevokeCertificate",
"ConfirmationRequired": false
},
{
"Action": "HoldCertificate",
"ConfirmationRequired": false
},
{
"Action": "UnholdCertificate",
"ConfirmationRequired": false
},
{
"Action": "DeleteCertificate",
"ConfirmationRequired": false
},
{
"Action": "PrivateKeyAccess",
"ConfirmationRequired": false
}]
Установка политики подтверждения операции пользователя
SetUserOperationPolicy
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/operationpolicy |
Параметры в строке запроса | - |
Параметры в теле запроса | IList<DSSActions> - Список операций, для которых требуется подтверждение |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/operationpolicy HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 8
[2,
1024]
Пример ответа
HTTP/1.1 200 OK
Настройка политики доступа к операциям
Получение политики доступа к операциям
GetUserAccessPolicy
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/accesspolicy |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | List<AccessPolicy> - Политика доступа к операциям пользователя |
Пример запроса
GET https://<hostname>/STS/self/accesspolicy HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 445
[{
"Action": "SignDocument",
"AccessDenied": true
},
{
"Action": "DecryptDocument",
"AccessDenied": false
},
{
"Action": "CreateRequest",
"AccessDenied": true
},
{
"Action": "DeleteCertificate",
"AccessDenied": false
},
{
"Action": "RenewCertificate",
"AccessDenied": false
},
{
"Action": "RevokeCertificate",
"AccessDenied": false
},
{
"Action": "HoldCertificate",
"AccessDenied": false
},
{
"Action": "UnholdCertificate",
"AccessDenied": false
},
{
"Action": "ChangePin",
"AccessDenied": false
}]
Установка политики доступа к операциям
SetUserAccessPolicy
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/accesspolicy |
Параметры в строке запроса | - |
Параметры в теле запроса | IList<DSSActions> - Список операций, для которых требуется подтверждение |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/accesspolicy HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 6
[2,
16]
Пример ответа
HTTP/1.1 200 OK
Настройка протокола OAuth
Получение списка приложений запросивших права на доступ к ресурсам (Oauth)
GetUserGrants
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/grants |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | IList<UserGrant> - список приложений, которым были выданы права на доступ для данного пользователя. |
Пример запроса
GET https://<hostname>/STS/self/grants HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 6
Пример ответа
HTTP/1.1 200 OK
{}
Отзыв прав приложений на доступ к ресурсам (Oauth)
RevokeUserGrants
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/grants/revoke |
Параметры в строке запроса | - |
Параметры в теле запроса | RevokeGrantInput |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/grants/revoke HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 6
{
}
Пример ответа
HTTP/1.1 200 OK
{}
Настройка политики оповещения
Получение политики оповещения
GetNotificationPolicy
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/notificationpolicy |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | UserNotificationPolicy - Политика оповещения пользователя |
Пример запроса
GET https://<hostname>/STS/self/notificationpolicy HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 445
{
"Policy": {},
"ChangesAllowed": false,
"AvailableNotifiers": [
"SMS",
"Push"
]
}
Установка политики оповещения
SetNotificationPolicy
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/notificationpolicy |
Параметры в строке запроса | - |
Параметры в теле запроса | notifications - Dictionary<EventTypeEnum, List<DssNotifier>> - словарь событий и соответствующих им способов оповещения дл каждого из событий |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/self/notificationpolicy HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 6
{
"CertificatesRequested": [ "Email", "SMS" ],
"RevokeRequestsRequested": [ "Email", "SMS", "Push" ],
}
Примечание
При отправке запроса текущая политика оповещения пользователя будет перезаписана. В словаре необходимо указывать все события, для которых требуется оповещение.
Пример ответа
HTTP/1.1 200 OK
Получение списка событий о которых может быть оповещен пользователь
GetNotificationEvents
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/self/notificationpolicy/events |
Параметры в строке запроса | - |
Параметры в теле запроса | - |
Возвращаемое значение | UserEventsInfo |
Пример запроса
GET https://<hostname>/STS/self/notificationpolicy/events HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
{
"Events": [
{
"Type": "UserAccountChanged",
"Category": "UserAccount",
"Description": "Изменение данных учетной записи пользователя"
},
{
"Type": "UserPasswordChanged",
"Category": "UserAccount",
"Description": "Изменение пароля пользователем"
},
<...>
{
"Type": "ArchivedCertificateKeyExportFail",
"Category": "Certificates",
"Description": "Ошибка экспорта архивированного ключа пользователя"
}
],
"EventCategories": [
{
"Category": "Certificates",
"Description": "Операции с сертификатами"
},
{
"Category": "CertificatesV2",
"Description": "Операции с сертификатами (v2 API)"
},
<...>
{
"Category": "Authentication",
"Description": "Аутентификация пользователей"
}
]
}