Конечная точка User
Конечная точка User Сервиса Управления Пользователями представлена следующими группами HTTP-методов:
- Операции с пользователями
- Настройка различительного имени пользователя
- Настройка групп пользователей
- Настройка логина пользователя
- Настройка пароля пользователя
- Настройка номера телефона пользователя
- Настройка адреса электронной почты пользователя
- Настройка протокола OATH (одноразовые пароли на брелках)
- Общие настройки аутентификации
- Настройка аутентификации по методу SimAuth
- Настройка аутентификации по методу MobileAuth
- Настройка аутентификации myDSS Client
- Настройка политики подтверждения операций
- Настройка политики доступа к операциям
- Блокировка/разблокировка пользователя
Операции с пользователями
Данная группа методов предоставляет способы добавления, удаления и настройки пользователей.
Регистрация пользователя и добавление в группу по умолчанию
RegisterUser
Данный метод позволяет создать нового пользователя без явного указания его группы. При этом пользователь будет помещен в группу, в которой состоит создающий его Оператор. Если Оператор состоит в 2 и более группах, метод возвратит ошибку. В этом случае следует использовать метод "Регистрация пользователя и добавление в определенную группу" (см. ниже).
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user |
Параметры | Dictionary<IdentifierType, string> - Словарь идентификаторов пользователя |
Возвращаемое значение | id - Глобальный идентификатор пользователя |
Пример запроса
POST https://<hostname>/STS/ums/user HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 24
{
"Email": "sample@cp.ru"
}
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 38
"7c9f047f-d539-4be9-ae5d-a81ed8495ce1"
Регистрация пользователя и добавление в определенную группу
RegisterUser
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/ |
Параметры | Dictionary<IdentifierType, string> - Словарь идентификаторов пользователя groupName - Имя группы, в которой будет состоять пользователь |
Возвращаемое значение | id - Глобальный идентификатор пользователя |
Пример запроса
POST https://<hostname>/STS/ums/user?groupName=TestGroup HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 24
{
"Email": "sample@cp.ru"
}
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 38
"7c9f047f-d539-4be9-ae5d-a81ed8495ce2"
Получение информации о пользователе по глобальному идентификатору
GetUserById
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id} |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | DssUserInfo - Учетные данные пользователя |
Пример запроса
GET https://<hostname>/STS/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230 HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 415
{
"UserId": "9fba6076-3509-4e8e-abc1-dae6d052a230",
"Login": "Test1231231232",
"PhoneNumber": "78889996655",
"Email": null,
"PhoneConfirmed": true,
"EmailConfirmed": false,
"DisplayName": null,
"DistinguishName": "SN=Иванов, G=Иван Иванович, I=ИИИ, CN=Ivanov, C=RU",
"AccountLocked": false,
"Group": "CustomGroup",
"CreationDate": "2019-05-30T16: 25: 35.77",
"LockoutDate": null,
"LastLoginDate": "2019-05-30T16: 25: 35.77"
}
Получение информации о пользователе по идентификатору
GetUser
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user |
Параметры | IdentifierType - Тип идентификатора пользователя value - Значение идентификатора пользователя |
Возвращаемое значение | DssUserInfo - Учетные данные пользователя |
Пример запроса
GET https://<hostname>/STS/ums/user?type=PhoneNumber&value=78889996655 HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 415
{
"UserId": "9fba6076-3509-4e8e-abc1-dae6d052a230",
"Login": "Test1231231232",
"PhoneNumber": "78889996655",
"Email": null,
"PhoneConfirmed": true,
"EmailConfirmed": false,
"DisplayName": null,
"DistinguishName": "SN=Иванов, G=Иван Иванович, I=ИИИ, CN=Ivanov, C=RU",
"AccountLocked": false,
"Group": "CustomGroup",
"CreationDate": "2019-05-30T16: 25: 35.77",
"LockoutDate": null,
"LastLoginDate": "2019-05-30T16: 25: 35.77"
}
Назначение отображаемого имени пользователя в общем списке пользователей
SetUserProperty
Параметр | Значение |
---|---|
HTTP-метод | PATCH, POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id} |
Параметры | id - Глобальный идентификатор пользователя UserProperty - Свойства учетной записи пользователя |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/9cddeb1f-a36c-4f79-bbda-ec0dece4873c HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 44
{
"PropertyType": 0,
"Value": "UserDisplayName"
}
Пример ответа
HTTP/1.1 200 OK
Удаление пользователя
DeleteUser
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id} |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/ums/user/486f64c8-d5da-4a61-ae0a-5ddb202f82bf HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Настройка различительного имени пользователя
Данная группа методов предоставляет способы работы с различительным именем пользователя.
Назначение различительного имени пользователю
SetUserDistinguishedName
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/dn |
Параметры | id - Глобальный идентификатор пользователя components - Словарь компонентов различительного имени формата IDictionary<int, string> |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/9b12bffc-3562-4db6-ada4-d857ad2c291a/dn HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 16
{
"1": "SampleCN"
}
Пример ответа
HTTP/1.1 200 OK
Получение списка компонентов различительного имени пользователя
GetUserDistinguishedName
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/dn |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | Dictionary<int, string> - Компоненты различительного имени пользователя |
Примечание: ключом словаря является идентификатор компонента имени пользователя. Список поддерживаемых ЦИ компонентов имени пользователя можно получить из политики Сервиса Управления Пользователями (ссылка на GetPolicy)
Пример запроса
GET https://<hostname>/STS/ums/user/81c71190-ff87-4457-9d6d-86cd66a22f83/dn HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 58
{
"1": "UmsSampleUser-f3d5fdfe-9da7-436f-8245-908aafa1213e"
}
Настройка групп пользователей
Данная группа методов предоставляет способы работы с группами пользователей.
Назначение группы пользователю
SetUserGroup
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/group |
Параметры | id - Глобальный идентификатор пользователя groupName - Имя группы newRdns - Новый список компонентов имени пользователя |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/46778710-1d63-4691-885b-c0e895da3ba8/group?groupName=SampleGroup HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 58
{
"1": "UmsSampleUser-33a13f1f-b99d-4e71-8090-01e6aecff75e"
}
Пример ответа
HTTP/1.1 200 OK
Получение имени группы пользователя
GetUserGroup
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/group |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | Имя группы пользователя (String) |
Пример запроса
GET https://<hostname>/STS/ums/user/40181add-c27f-4491-ab66-d60dc69a583f/group HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 9
"Default"
Настройка логина пользователя
Данная группа методов позволяет добавлять, удалять и получать сведения о логине учетной записи пользователя.
Установка локального логина учетной записи пользователя
SetLocalLogin
Добавляет локальный логин пользователю или заменяет его, если логин уже существует.
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/login/local?newLogin={newLogin} |
Параметры | id - Глобальный идентификатор пользователя newLogin - Новый локальный логин пользователя |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/4de1b1be-2229-40fe-a0e6-ece733277ccb/login/local?newLogin=TestLogin123 HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Установка внешнего логина учетной записи пользователя
SetExternalLogin
Добавляет внешний логин пользователю или заменяет его, если логин уже существует. Если логин существует и передано пустое значение логина, логин будет удален.
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/login |
Параметры | id - Глобальный идентификатор пользователя ExternalLoginInfo - Структура для создания внешнего логина |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/4de1b1be-2229-40fe-a0e6-ece733277ccb/login HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 48
{
"Login": "SampleLogin",
"IssuerName": "SampleSts"
}
Пример ответа
HTTP/1.1 200 OK
Получение логинов пользователя
GetUserLogin
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/login |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | List<ExternalLoginInfo> - Список логинов пользователя |
Пример запроса
GET https://<hostname>/STS/ums/user/80c275a1-f375-4bf1-aac3-9c478aee950c/login HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 50
[{
"Login": "UmsSampleUser",
"IssuerName": "realsts"
}]
Удаление логина пользователя
DeleteUserLogin
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/login |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/login HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Настройка пароля пользователя
Данная группа методов позволяет управлять паролями пользователей.
Сброс пароля пользователя
ResetPassword
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/password |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | Новый пароль пользователя (String) |
Примечание
При использовании данного метода требуется, чтобы у Пользователя в контактной информации был задан Email и/или номер телефона для OTP-паролей.
Пример запроса
POST https://<hostname>/STS/ums/user/ef2ab692-f457-432a-bbe8-392ec44b6ee1/password 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: 56
"стихийный аппарат доказывает"
Настройка номера телефона пользователя
Данная группа методов позволяет управлять номерами телефонов пользователей.
Получение списка телефонов пользователя
GetUserPhones
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phones |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | List<UserContactInfo> - Контактная информация пользователя |
Пример запроса
GET https://<hostname>/STS/ums/user/e5ec3a9e-76a8-4f99-8750-2180b47ef2e1/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phones |
Параметры | id - Глобальный идентификатор пользователя phone - Номер телефона пользователя |
Возвращаемое значение | UserContactInfo - Контактная информация пользователя |
Пример запроса
POST https://<hostname>/STS/ums/user/136d0be8-aebf-4322-8840-4f441f576a91/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phones/{phone}/confirm |
Параметры | id - Глобальный идентификатор пользователя phone - Номер телефона пользователя |
Возвращаемое значение | UserContactInfo - Контактная информация пользователя |
Пример запроса
POST https://<hostname>/STS/ums/user/e5ec3a9e-76a8-4f99-8750-2180b47ef2e1/phones/79991234568/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: 110
{
"Type": "PhoneNumber",
"Contact": "79991234568",
"Confirmed": true,
"Primary": true,
"Notification": true,
"Usages": []
}
Запрос отправки одноразового пароля для подтверждения номера телефона
RequireUserPhoneConfirmation
Параметр | Значение |
---|---|
HTTP-метод | POST, PATCH |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phones/{phone}/requireconfirm |
Параметры | id - Глобальный идентификатор пользователя phone - Номер телефона пользователя |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/3d540f99-8451-4ad3-b8aa-ea8b446eb6f9/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phones/{phone}/submitconfirm |
Параметры | id - Глобальный идентификатор пользователя phone - Номер телефона пользователя confirmationCode - Код подтверждения |
Возвращаемое значение | UserContactInfo - Контактная информация пользователя |
Пример запроса
POST https://<hostname>/STS/ums/user/3d540f99-8451-4ad3-b8aa-ea8b446eb6f9/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phones/{phone}/primary |
Параметры | id - Глобальный идентификатор пользователя phone - Номер телефона пользователя primary - флаг, отвечающий за назначение телефона в качестве логина для идентификации (если это не запрещено на сервере) |
Возвращаемое значение | UserContactInfo - Контактная информация пользователя |
Пример запроса
POST https://<hostname>/STS/ums/user/3538fb42-a6c1-442c-9a27-70de9f8aeed7/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phones/{phone}/notification |
Параметры | id - Глобальный идентификатор пользователя phone - Номер телефона пользователя notification - флаг, отвечающий за возможность получать уведомления на заданный номер |
Возвращаемое значение | UserContactInfo - Контактная информация пользователя |
Пример запроса
POST https://<hostname>/STS/ums/user/3538fb42-a6c1-442c-9a27-70de9f8aeed7/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phones/{phone}/secondaryauth |
Параметры | id - Глобальный идентификатор пользователя phone - Номер телефона пользователя |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/3d540f99-8451-4ad3-b8aa-ea8b446eb6f9/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phones/{phone}/ |
Параметры | id - Глобальный идентификатор пользователя phone - Номер телефона пользователя |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/ums/user/136d0be8-aebf-4322-8840-4f441f576a91/phones/79991234560/ HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
(Для обратной совместимости) Назначение номера телефона для вторичной аутентификации и/или подтверждения операций
GetUserPhoneTokenInfo
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phonenumber |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | UserPhoneInfo - Информация о номере телефона пользователя |
Пример запроса
GET https://<hostname>/STS/ums/user/530c285f-047f-40d1-8daa-f7f882347ee0/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phonenumber |
Параметры | id - Глобальный идентификатор пользователя phone - Номер телефона пользователя |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/a3a0a399-a918-4e8c-9008-2f652815de5f/phonenumber HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 13
"79150000000"
Пример ответа
HTTP/1.1 200 OK
Удаление номера телефона пользователя
DeleteUserPhone
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/phonenumber |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/ums/user/84e67841-ceaa-4f18-a706-eab0d2a997a1/phonenumber HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Настройка адреса электронной почты пользователя
Данная группа методов позволяет управлять адресами электронной почты пользователей.
Получение списка адресов электронной почты пользователей
GetUserEmails
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/emails |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | UserContactInfo - Контактная информация пользователя |
Пример запроса
GET https://<hostname>/STS/ums/user/b6e54b50-b047-46d5-9915-3d2a72fc5a45/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/emails |
Параметры | id - Глобальный идентификатор пользователя email - Адрес электронной почты пользователя |
Возвращаемое значение | UserContactInfo - Контактная информация пользователя |
Пример запроса
POST https://<hostname>/STS/ums/user/d0d6f46e-0361-48d0-af76-5a6206d93b75/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/emails/{email}/confirm |
Параметры | id - Глобальный идентификатор пользователя email - Адрес электронной почты пользователя |
Возвращаемое значение | UserContactInfo - Контактная информация пользователя |
Пример запроса
POST https://<hostname>/STS/ums/user/d5daff09-15bc-4519-928f-67aea39bae20/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/emails/{email}/requireconfirm |
Параметры | id - Глобальный идентификатор пользователя email - Адрес электронной почты пользователя |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/b6e54b50-b047-46d5-9915-3d2a72fc5a45/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/emails/{email}/submitconfirm |
Параметры | id - Глобальный идентификатор пользователя email - Адрес электронной почты пользователя confirmationCode - Код подтверждения |
Возвращаемое значение | UserContactInfo - Контактная информация пользователя |
Пример запроса
POST https://<hostname>/STS/ums/user/b6e54b50-b047-46d5-9915-3d2a72fc5a45/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/emails/{email}/primary |
Параметры | id - Глобальный идентификатор пользователя email - Адрес электронной почты пользователя primary - флаг, отвечающий за назначение почтового адреса в качестве логина для идентификации (если это не запрещено на сервере) |
Возвращаемое значение | UserContactInfo - Контактная информация пользователя |
Пример запроса
POST https://<hostname>/STS/ums/user/1c4df002-ed3c-4c88-a395-8e2795a295c6/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/emails/{email}/notification |
Параметры | id - Глобальный идентификатор пользователя email - Адрес электронной почты пользователя notification - флаг, отвечающий за возможность получать уведомления на заданный почтовый адрес |
Возвращаемое значение | UserContactInfo - Контактная информация пользователя |
Пример запроса
POST https://<hostname>/STS/ums/user/1c4df002-ed3c-4c88-a395-8e2795a295c6/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/emails/{email}/secondaryauth |
Параметры | id - Глобальный идентификатор пользователя email - Адрес электронной почты пользователя |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/b6e54b50-b047-46d5-9915-3d2a72fc5a45/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/emails/{email}/ |
Параметры | id - Глобальный идентификатор пользователя email - Адрес электронной почты пользователя |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/ums/user/d2ebbe7d-55b1-468e-9e30-9c101377572f/emails/testuser4@dss.ru/ HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
(Для обратной совместимости) Назначение адреса электронной почты для вторичной аутентификации и/или подтверждения операций
GetUserEmailTokenInfo
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/email |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | UserEmailInfo - Информация об адресе электронной почты пользователя |
Пример запроса
GET https://<hostname>/STS/ums/user/0fd10693-f4a8-46b2-bb9b-aa9e0ae9760d/email HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 32
{
"Email": null,
"Confirmed": false
}
(Для обратной совместимости) Установка адреса электронной почты пользователя в качестве основного (для входа, вторичной аутентификации и оповещения)
SetUserMainEmail
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/email |
Параметры | id - Глобальный идентификатор пользователя email - Адрес электронной почты пользователя |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/0929c5b2-1ef3-4b23-b544-99a9658fe421/email HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 14
"sample@cp.ru"
Пример ответа
HTTP/1.1 200 OK
Удаление адреса электронной почты пользователя
DeleteUserEmail
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/email |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/ums/user/7d68d4f6-c398-4ce1-a217-8a097da42294/email HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Настройка протокола OATH (одноразовые пароли на брелках)
Назначение пользователю токена аутентификации HOTP или TOTP
SetUserOtpToken
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/oath |
Параметры | id - Глобальный идентификатор пользователя OAthTokenInfo - информация о токене, назначаемом пользователю |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/6e9eeeec-6a73-4b06-9274-4ba2e7216ed4/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/oath |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | UserOtpTokenInfo - Информация об OTP-токене пользователя |
Пример запроса
GET https://<hostname>/STS/ums/user/6e9eeeec-6a73-4b06-9274-4ba2e7216ed4/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/oath |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/ums/user/612a7f3f-49a1-48ed-ac27-d47062f68b1a/oath HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Общие настройки аутентификации
Получение схемы аутентификации пользователя
GetUserAuthenticationScheme
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | List<AuthenticationInfo> - Список с информацией о шагах схемы аутентификации пользователя |
Пример запроса
GET https://<hostname>/STS/ums/user/b6e54b50-b047-46d5-9915-3d2a72fc5a45/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/idonly |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/e6c3240b-e9f8-44c1-b662-0e0937883eaa/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/idonly |
Параметры | |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/ums/user/e33d3b69-4461-4789-a9cc-ce07f8bfca07/authmethod/idonly HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Назначение метода аутентификации пользователя по паролю
SetUserAuthenticationMethodPassword
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/password |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/958186d2-5514-4ab3-8f22-ae9c34417675/authmethod/password HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 2
{}
Пример ответа
HTTP/1.1 200 OK
Удаление метода аутентификации пользователя по паролю
DeleteUserAuthenticationMethodPasword
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/password |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/ums/user/87f0e53f-04d5-4462-8e8f-06a58e48e008/authmethod/password HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Назначение метода аутентификации пользователя по сертификату
SetUserAuthenticationMethodCert
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/cert |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/dc723f91-2728-426c-a18b-fe5c5d2499b9/authmethod/cert HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 2
{}
Пример ответа
HTTP/1.1 200 OK
Удаление метода аутентификации пользователя по сертификату
DeleteUserAuthenticationMethodCert
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/cert |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/ums/user/87f0e53f-04d5-4462-8e8f-06a58e48e008/authmethod/cert HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Назначение метода аутентификации пользователя через внешний ЦИ
SetUserAuthenticationMethodSaml
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/external |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/399397a2-7d86-42fa-a95a-5a943db1aea2/authmethod/external HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 2
{}
Пример ответа
HTTP/1.1 200 OK
Удаление метода аутентификации пользователя через внешний ЦИ
DeleteUserAuthenticationMethodSaml
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/external |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/ums/user/87f0e53f-04d5-4462-8e8f-06a58e48e008/authmethod/external HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Назначение метода аутентификации пользователя через одноразовые пароли по SMS
SetUserAuthenticationMethodOtpViaSms
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/otpviasms |
Параметры | id - Глобальный идентификатор пользователя level - Шаг аутентификации (int) |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/7184647a-fc20-4a23-a77f-9a1c6172c82b/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/otpviasms |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/ums/user/87f0e53f-04d5-4462-8e8f-06a58e48e008/authmethod/otpviasms HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Назначение метода аутентификации пользователя через одноразовые пароли по электронной почте
SetUserAuthenticationMethodOtpViaEmail
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/otpviaemail |
Параметры | id - Глобальный идентификатор пользователя level - Шаг аутентификации (int) |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/b6e54b50-b047-46d5-9915-3d2a72fc5a45/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/otpviaemail |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/ums/user/7f0f902e-dc9b-462e-a3c3-c4d6b21ba013/authmethod/otpviaemail HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Назначение метода аутентификации пользователя через OTP-токен
SetUserAuthenticationMethodOAth
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/oath |
Параметры | id - Глобальный идентификатор пользователя level - Шаг аутентификации (int) |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/6e9eeeec-6a73-4b06-9274-4ba2e7216ed4/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/oath |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/ums/user/87f0e53f-04d5-4462-8e8f-06a58e48e008/authmethod/oath HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Назначение метода аутентификации пользователя при помощи апплета на SIM-карте (SimAuth)
SetUserAuthenticationMethodSimAuth
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/simauth |
Параметры | id - Глобальный идентификатор пользователя level - Шаг аутентификации (int) |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/58149f21-fbad-4606-a2d3-e80141e85a11/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/simauth |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/ums/user/4740e82c-0054-401c-aceb-c13ba6a0a4cd/authmethod/simauth HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Назначение метода аутентификации пользователя при помощи мобильного приложения myDSS (MobileAuth)
SetUserAuthenticationMethodMobileAuth
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/mobileauth |
Параметры | id - Глобальный идентификатор пользователя level - Шаг аутентификации (int) |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/58149f21-fbad-4606-a2d3-e80141e85a11/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/authmethod/mobileauth |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/ums/user/87f0e53f-04d5-4462-8e8f-06a58e48e008/authmethod/mobileauth HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Получение подробной аутентификационной информации пользователя
GetUserRawAuthenticationDataAsync
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/rawauthdata |
Параметры | UserRawAuthDataRequest - Запрос на аутентификационную информацию пользователя |
Возвращаемое значение | Сведения о запрошенных методах аутентификации пользователя (String) |
Пример запроса
POST https://<hostname>/STS/ums/user/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/simauth |
Параметры | id - Глобальный идентификатор пользователя SimAuthTokenInfo - Информация о SIM-карте |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/58149f21-fbad-4606-a2d3-e80141e85a11/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/simauth |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | UserSimAuthInfo - Информация о SIM-карте пользователя |
Пример запроса
GET https://<hostname>/STS/ums/user/58149f21-fbad-4606-a2d3-e80141e85a11/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
RemoveUserSimAuthToken
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/simauth |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/ums/user/4740e82c-0054-401c-aceb-c13ba6a0a4cd/authmethod/simauth HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Отправка запроса к апплету на SIM-карте
SendSimAuthTokenMessage
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/simauth/message/{messageType} |
Параметры | id - Глобальный идентификатор пользователя LifecycleMessageType - Тип сообщения, связанного с жизненным циклом апплета |
Возвращаемое значение | Идентификатор запроса к SIM-карте (String) |
Пример запроса
POST https://<hostname>/STS/ums/user/ed124c3b-e518-4a3e-9100-c492ae0b2f0c/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/simauth/changekeymessage |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | SimAuthChangeKeyRequestResult - Результат отправки запроса на смену ключа аутентификации |
POST user/\{id}/simauth/changekeymessage
Параметры
id
- идентификатор пользователя
Ответ сервиса будет содержать:
TransactionId
- идентификатор транзакции смены ключа аутентификацииActivationCode2
- код смены ключа.
Код смены ключа аутентификации представляет собой список из 10 блоков цифр, которые пользователю необходимо ввести на мобильном устройстве.
Результат смены ключа можно узнать по TransactionId
, вызвав метод получения результата транзакции
Внимание!
Получение результата выполнения запроса на апплете возможно либо через CallBack-сервис, либо переодическим опросом метода получения результата транзакции
Пример запроса
POST https://<hostname>/STS/ums/user/e74dabec-6c91-4329-970f-361293c5f7a6/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/simauth/message/{transactionId} |
Параметры | id - Глобальный идентификатор пользователя transactionId - |
Возвращаемое значение | SimAuthLifecycleMessageStatusRest - Статус операции |
Пример запроса
GET https://<hostname>/STS/ums/user/ed124c3b-e518-4a3e-9100-c492ae0b2f0c/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mobileauth |
Параметры | id - Глобальный идентификатор пользователя MobileAuthTokenInfo - Информация о токене аутентификации MobileAuth |
Возвращаемое значение | MobileAuthCreateInfoEx - Информация о созданном ключе аутентификации MobileAuth |
Пример запроса
POST https://<hostname>/STS/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/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": "R0lGODlhLAEsAfcAAAAAAAAAMwAAZgAAmQAAzAAA/wArAAArMwArZgArmQArzAAr/wBVAABVMwBVZgBVmQBVzABV/wCAAACAMwCAZgCAmQCAzACA/wCqAACqMwCqZgCqmQCqzACq/wDVAADVMwDVZgDVmQDVzADV/wD/AAD/MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMrADMrMzMrZjMrmTMrzDMr/zNVADNVMzNVZjNVmTNVzDNV/zOAADOAMzOAZjOAmTOAzDOA/zOqADOqMzOqZjOqmTOqzDOq/zPVADPVMzPVZjPVmTPVzDPV/zP/ADP/MzP/ZjP/mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YrAGYrM2YrZmYrmWYrzGYr/2ZVAGZVM2ZVZmZVmWZVzGZV/2aAAGaAM2aAZmaAmWaAzGaA/2aqAGaqM2aqZmaqmWaqzGaq/2bVAGbVM2bVZmbVmWbVzGbV/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kAZpkAmZkAzJkA/5krAJkrM5krZpkrmZkrzJkr/5lVAJlVM5lVZplVmZlVzJlV/5mAAJmAM5mAZpmAmZmAzJmA/5mqAJmqM5mqZpmqmZmqzJmq/5nVAJnVM5nVZpnVmZnVzJnV/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswAmcwAzMwA/8wrAMwrM8wrZswrmcwrzMwr/8xVAMxVM8xVZsxVmcxVzMxV/8yAAMyAM8yAZsyAmcyAzMyA/8yqAMyqM8yqZsyqmcyqzMyq/8zVAMzVM8zVZszVmczVzMzV/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A//8rAP8rM/8rZv8rmf8rzP8r//9VAP9VM/9VZv9Vmf9VzP9V//+AAP+AM/+AZv+Amf+AzP+A//+qAP+qM/+qZv+qmf+qzP+q///VAP/VM//VZv/Vmf/VzP/V////AP//M///Zv//mf//zP///wAAAAAAAAAAAAAAACH5BAEAAPwALAAAAAAsASwBAAj/APcJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4seOoACJLnky5skHLBSUP1CwQs0XPnAmG3kyZ9GTTlyOnBpBwdGfVryufRuhaoezbnoXi3g1bdOnMvUPnpgi6N2rgs/cVZ418dWvjsU3jfs68Ie/dRa9PR15bePDfn8F3b4euXLz56sd9o2/Ovjx22uSpawevOz786svTP1w+3P12/7xRp59D/423nnrp5Rcdgfb1VJuAsXmHX4PyfSfbagXOB6F7EmV44IMLchihhQPaRuFOIB4koYQlMsQffSNeGON/zoW4320lpshijAmeiP8gUSue16GGERmIIYk2LvTiewAmp2CT0iH5o4hN7jhUkE76eCSTN35I3pMpbhklkx5auWSOUnqYnYVPdnndkF7GaaaWPM6Io50TZpknlmjmOaaV9e0pJJ5iFgkjlX1uSWN7Lg6aUZvtYQloUJKmead6Yd5nJKNJVnlpjdY5ihGkU1bqJ5BsOroolIYmlyinnsqoIp2sInoRqT0Kqueauk5aq4FzHvjnpZnaOuWw8wUYYrJuqkosrTaZ2qevYDbIbKegZotnsmpue2iFuxKKrU/SdkpqtcJ6G66J6RrL7bu5vsmgrOUa+1Ox8T7bbplSgtqfr9piau23SqZ66rGwbhj/aJfIAizurwPr6q+POhJcK8N1uhsxxlfSaqrDsY7Z4rKHgjzyxdxBS/K6J+M7roPvBpvrzCvTTKXMNed8s6UH47xzzzzHzKvQOvtsNM82Hw300kkjXbTTscrbccxMP131z01frXTWXFvd9c9Ee2VywuqCS+3GGQcsMqznfqlyW2MjLLCsivb7Mp/3gRtw23H6FXfLys5Kr9v7Gqxwyn0j/qrcXV0bddCEo+v4hnhDRLXFxdY78dVDBy515cjmq12jS7s8d9hqR/qp6pyjOnrZKwPrLLekiw7n5YW3K3rFWr99r77onpw61mRbHrm+ewNf8vG9Gp62Uvyu+/fddtvb/2rdLJurvKva63nm80lFv/W8lBM+KvN8Yx862+d9j/LUm//rPPEhdy/56oLLrjv4a8vtM+D7gx/r5Ccxq/HtfnTTFPNIx7tNlap6vHOKA1dVuWAdcHarKtTcGBgxB34NgGPpDwDjJsLYmU9xJuTSy/rHwYNtjoVcKaH1IBZAGYLOfpBT4QxhyC6QWdB3TbFhB6unwfidcIMppCDFLKbBCKZQgjnEngcV6MIV5u1hwqPi7pZYwPcdTio/lBP+MicqKwpufYwrmPTwZ8Qu1s4qYZTiEfXWPTihMYv5yyEZuyjD4S1lijOM3hZLt70XJnF2d3yiGhuIOyDSBJCM9J4eJ3wpycTR73OUbGMLzXY5pEByiJUc5CBveEmDBQ+LiuwhKHHnSVN6zpXc8x8bUUlDPPqRfVU8HeZWyUTXNQx5sDsj4iKpP5tx7I0PzF0GqafDVjaPTLB0oi6Vubw1BvCWsszlL3PHyVg6s48Zc98pp5lIJGazfwTsZvKuWUed/3XOmyikYQUhuL1IrhOd1VQnLo/ptaMs05ziROQwYUnHc4Yzn1T8JDs11jqg6E+J3LwVMJO5JAQic3LtfJwlpckrOcaSo8SZqCiDSco2QtSkCA2kI2fy0DGiLTyD22g9McjFbSp0m4YUplGkVtB/ttSS5Wto1oRYw2gS8Yr04+HvmhlPn6Jvjkj9H+vKicePHVWnZ4MnzJgK0FkyNJ1q/OBUaVlVo2ozqvTU6h/bl1I77vNhmPxoGSl61XXOU4xqhUpFoWo8oB7ymaTEVSpNV8yD4tV0a60kIPnJUDTGtbAq5aPHFmhY9UFvpQZka0TN6VjKfjWKaPXrZ3N5U39itv+UMQXp+7rVVbzaLrT3bCpfF0up04axpDg8bFqzGkfYvrW1sU2jADXaWTdq0bATJGhYzeg+bPa2sXA0a3GVKttQjrV+7CqrdXUaVHyKFjLShev8eqrZnP7TmMf1InNBC10w9jK7f82pJoM51N2KNJ5NrGtubYmi93aXlj6cH08zS9pXUvPA6OVuZU2bV/iCLaXS3KtcCVlgaCI4vST0LGL7e+EHVxinxQtwQ8+7SJdmz8NExeZSyStZmeowwi/lrX8TWs2sgljBO6xth++K0gn/F6v2bXA3IZtcrtLWoXM1r4E1h1TqAneA+u3r+JJ6PddlmMIBTSCOwVlLKJ91IuP/lGpf36ndUQrYq9Pioo0X/CiBorYiG34kJbN8ZKu+uMYQNmvY9kjkRi40J7ctJPhgTLUiAnjOnVzvhO084OEy+sw+Di3qBm1iMxda0X1uZGKHt8c0W3jI98XxF8tpZ+2qForfVbSnWetRwQqX05UmqZpfCt5U55jKGhWx4zpNPhq7mNXpVfFle2fcMbNZzOM0NGotWt0pN9qZX+NyUJ2t4auCFcXs9S61udrRfqo3VC0Wa5cjW+TpUnq7SiMxkos9wqculNDtPjBu34zc2Vqbr93+tj0H+u4Y31urgvSth3lY7iabccX8Y+ZPGStuJwccyBQm+BFVG+dozfTT8fX1IKQNit2fsrLZ41XXtd/5aGtSVeRE2rJyR+tn19Zbt3f+/zNOxGfgkeZR0wbHdoVbnunAwqt436xpiC/OX+yWOaPCfrJwk43fYfN66UQ/+KGL+uGcbxLp1Y03qp8e73oRNtYOrvPb0ofhf1dcJj4f8S5P/PV+W5js31Y2sJcduIWdO8FEXTO4m5Xauc5b7qEOtJYRvlqoOdzvk3U7zase96Z3fOJ6Pi1L/31yuhs58O9N8XKzqXnOVpkpIq684POO+AZ3/osLz7m0rc5gEJKVwE6NqbJnr2pcnj7hex/2jUmd1q4nHtRU1zbYiyvhq4cvvOS8boIrD2tuD7buufU6mnFvd+LyW77uvH6vb87lu55U+48fvOPJ/HmKB9mmkn+5Pv+TyfvNetrJS41z6JX/cnXz/fBaFnzz7Rryqcmf8vQnT9AHU/P2fTq3f7bXf/nWfq8FcQVndI53ZPNFV4r3e/Sle+BXX5t1bUzmee11UXkmZNTnZau3bpbFfriXdjYHeLY2gQ1ofCDofFvVaB0IWevHgOVneNkXdqC0ONjnfwNYg551g1PnVvSGgrlHbr0ncCQHdgYIf1M3ctuHbFG2fGzmercGbSjXYRMods9kbtyHZ5HGgxGHFiVXUF2IbxkXfsB3gkdneWlxhsHmZT5IgitHTGIogd5WgqhmhTeHd2LYgHMHfAREejAHhn7IhzUhZiz2fllXf1W4han3h+A3d7r/ln4rwYhlt3PV1mKu1mp52IOViHlfpogmmIJC94FAV2KAZYFJiIZXuIXMF0QKWHuq+GqsuHubh0ywOG7o94XRxW626IVwplkl2HYwGIu5tnJaiGsSB3AhGINal1GF6IQh+H/il4Uzp4MeaIg/qGQ7BnmLZo1jaIqxl2+X6HKUiIQ/tm/tVY35139/52ujZmXMOC+GaIM7+IzTqEqyR40zFn5npxPF1yr5OIT7eHcKN2v/+I4B+XCJ1YEthIfqmIjROIdhaHJ0iI/l5XQ0xXiZVoyv042RJ4zr6F2NuJAydxOsBXchGVIjyY+yOIIkeWIoqZJBZ01695JglnIyuYwmBsmC6WiRIv84gx0JlM84iBgJkcoofRuIkGRoivF3lLsWija5lIKmdDYHb+MnaQEZKHS2ZO42PYXXd+pYZK4mY243i6cYla6Ig2WplMbmjFMYahtxauSSisfobi4oaysJjiKJiB2Bl1sVg8iYgal0YwPZcHXZkB5BmBEpj44khbf4bKhYbAM5ehOlh6B3lEXHgsGlix74glIHcb9IhX9pj5g5mW2FddZ3khuJi2R4mty4mNvIeJ9ph6LllB7nkwppeXoHmKVJeKXVk8DIcUwJlBD1gE6JgEe4aa6ZmffokGYJijHHnHeohkdom3LWiiOZjhJmmW5ZgZdWmSknh7JJnH5GlIsnntP/lngfZ57fWZJJxxMl15K8pFi+mYR7iXPyGVe/WJ+3KXr5OY/6lpXCx4nut31FN3+ilpfH2XzJSXsC2YlqWY8O1qAA+KCF+XpKWJ25SI/nxmNdqY0cJ42sZ6IWd5aSuaDJt50XOXCbh55omWgyqqID+ohliaH4WYZIaKCayXYl2aNkCWid+JMS6mYqSGAoipQA6Z8kulN2OZyjOIY9FnvNyYR/JZfml5rdmZasCaJQ553eKF5P+WvnSWu/1YSlGKbNxUy0GY6OGYD3uaGhqZrxWWpa6qQZepmEWHO/uWo2mpN5inw/iFEqB43y9nM3WofKOYBsumeGSqf7yX8uGqfM+3aikgipDFaAnlmiFEqgu3mNgMqOIyqOoQqhnrpdqTqaiKmpOzqT1CmUqAqqqlqLAsiFIeqPXQqasvqASVmrrgqEtFOi58iRZwqgCcmhcNl99laU9jmol3l7/vieGEeXzFqENKlQ3Dl55Yl/1NqLljZlvCiiFFiuo4WOa3c7JkajmbeEt1aQ46Zu3teabRmurAiPAbqt8Mpn2amT7+qJ9qqeisqu8aifYvpjfpigUUqvkEaZU/mtm0ps54NupbekJpqpWYauEbtxkipUBvmw5/ebbfdcG7uLOhafccqYUiayCvqTJcteJ9unUhp80RmJsAp3juqv5NmLPdqq/4SnsE9qhI4on3cKm9WKlQ2pjzXbpIuDjZa6s8+ajEmLtD9rqwTpslIZhVQJn5WqelD5hliabb4EidD6qg8XszGJsumaoiuoo1vbnQz7lWiblWrrnmvqpzPqVZm6gAwqq+s3sxALci24iYN7oNnot68IuOYquANLuAKaq15IkX34efvKqy5LmvH6qTgqudp5kF5qpOOoqJT5pq85kcKaX0FJk+CaSZ3Kl+ZatPDYnxwoio2KkeJ6bNNnlIcYu/t1qolbt20KsFSntikJgTVbpPyms0+KQE+HtzfKsxh7uBGbm9PEvNTpvHrJqeeKaZyLseTXuZdbnFs5nVe6vVf5ov+1a6V4OpbGmIrO5W82+6HWSZam66yhu4jtKpamp6YcemX9uLKleb8BG5mju3gca4vfGIDBOp89C7wJ3LTKKMC4VpUO/LRRN5c0WMCr2JnhpnGb6b4Iy3QH6KHWqq9s260QepMZebXX+75LK47yyjEb3L+FWxWmK5pQy7UfDG56GqvdS7MGunW4WsNGuJyQdn9+WZz425c4zLk6PHbTObPG91hTy69omr/H558sHKWA6KKOW7C6C5JXvBUtp7qCmLpwCrmJGZuoKbVaHKn7GWal56iy+5HWKm7BSaUsyZBo/Ltz2brF+pzLO6UUWLqYuKJUS8LmGLYTS66FPKcOOHzVfBy0SouaOzyshQqyj/pllna00JmeZst3OxmE6Fu0SqyVYOvJrdfBc0uepRxzTcq0i5xkv6XCfXzDr0zK/WrK83uhIcui87uwGPjCpIuzmdzECSiwPRy/B9tjoXy5f7y4/MnBnJe5E+y97FvCW2ydxxvBeZzCForNkYW6oxqheiXCkXvH5yzIXGqvaRfP65rOMMeZqFfHsenNOHnLgQi8kNnKxrzOgMzEa6esVivD49y72cq7FzTI+LtxltpzPCfJ7KyyryvJmyy9X3vNo4upjNqldRq8/+tmiTb60Ix6zwcb0h+L0ipNt09RpreIfxRcv3x7yqyborQcjO44ufKLqB4txrN50//ryE98zLhprENaoBv9vLgawTnN0Gl6zu5KvAQNxh95rJ0MjvbHYSu9zON71WUM0ogG1B471oQa1VH7q2DdzmusdD69peQomtXn1C79zVX61PjaubgcwJWMdm+JtalMuRCMu23NcBKlq+Lr12tJ2MYJni3qjs5p2DDls4mcEllawS7dm6wKe2a3ntpsxbIM0C781CzNv1pty50slxSMqHvNEpcNzIGs1uX4r396wfnKv09Ytmy4hsSnnavtvzVc1S4Ml5W729zc2zfc1YmKxOVs/Zpqac+6Pdr7u9mb69DA7cvCHcIKbb0ES8c+eqg1naz9LMrzCs+fO6mOpt0aKLTIi4XMnXR9e7PiLdLRepzbxpUv6pzv7cpjTL5tDb31TcPcy5k7PbKT/LK7mszzTLOWPJ7UynVwS9RejMXKe7uy2doocZinm7dDrZGanMRY+4leean8ncsfK8/FG2T4zcLRhtZ768AV3rFRjeJVDLumqaMtbtsObreV/aUf/b0B+9zyO805btAnzONx/BhKvuRM3uRO/uRQHuVSPuVUXuVWfuVYnuVavuVc3uVe/uVgHuZiPuZkNF7mZn7maJ7mar7mbN7mbv7mcB7ncj7ndF7ndn7neJ7ner7nfN7nfv7ngB7ogj7ohG7mAQEAOw==",
"KeyExpirationTime": "2019-06-29T00: 00: 00"
}
Назначение пользователю существующего токена аутентификации MobileAuth
AssignUserMobileAuthToken
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mobileauth/assign |
Параметры | id - Глобальный идентификатор пользователя AssignMobileAuthTokenInfo - Информация о существующем токене аутентификации MobileAuth |
Возвращаемое значение | UserMobileAuthInfo - Информация о созданном ключе аутентификации MobileAuth |
Пример запроса
POST https://<hostname>/STS/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mobileauth |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | UserMobileAuthInfo - Информация о созданном ключе аутентификации MobileAuth |
Пример запроса
GET https://<hostname>/STS/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mobileauth/activationcode |
Параметры | id - Глобальный идентификатор пользователя MobileAuthTokenInfo - Информация о токене аутентификации MobileAuth |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mobileauth |
Параметры | id - Глобальный идентификатор пользователя MobileAuthTokenInfo - Информация о токене аутентификации MobileAuth |
Возвращаемое значение | MobileAuthUpdateInfoEx - Информация об обновленном ключе аутентификации MobileAuth |
Пример запроса
PATCH https://<hostname>/STS/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mobileauth/thumbprint |
Параметры | id - Глобальный идентификатор пользователя deviceThumbprint - Отпечаток устройства пользователя |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mobileauth |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | - |
Пример запроса
DELETE https://<hostname>/STS/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/mobileauth HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Настройка аутентификации myDSS Client
- Назначить пользователю существующее мобильное устройство
- Создание QR-кода с Kinit
- Получение существующего QR-кода с Kinit
- Повторная отправка кода активации на KInit
- Удалить QR-код с Kinit
Назначить пользователю существующее мобильное устройство
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss/assign |
Параметры | id - Глобальный идентификатор пользователя MyDssAssignKeyRequest - Информация о добавляемом устройстве |
Возвращаемое значение | MyDssKeyInfo - Информация об устройстве |
Пример запроса
POST https://<hostname>/STS/ums/user/8d16086d-676c-49d6-bf49-09e6f936a596/mydss/assign HTTP/1.1
Content-Type: application/json; charset=utf-8
{"Kid":"73128110"}
Пример ответа
HTTP/1.1 200 OK
{
"Uid":"8d16086d-676c-49d6-bf49-09e6f936a596",
"Kid":"73128110",
"DeviceName":"MyApple",
"NotBefore":1574869065,
"NotAfter":1614440265,
"State":"NotVerified",
"UserName":"MdagTestUser-D547B268",
"Profile":"{\"Version\":1,\"Keys\":{\"1\":\"%D0%9E%D0%93%D0%A0%D0%9D\",\"2\":\"%D0%9E%D0%93%D0%A0%D0%9D%D0%98%D0%9F\",\"3\":\"%D0%A1%D0%9D%D0%98%D0%9B%D0%A1\",\"4\":\"%D0%98%D0%9D%D0%9D\",\"5\":\"%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F %D0%BF%D0%BE%D1%87%D1%82%D0%B0\",\"6\":\"%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%B0\",\"7\":\"%D0%9E%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C\",\"8\":\"%D0%93%D0%BE%D1%80%D0%BE%D0%B4\",\"9\":\"%D0%9E%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F\",\"10\":\"%D0%9F%D0%BE%D0%B4%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5\",\"11\":\"%D0%9E%D0%B1%D1%89%D0%B5%D0%B5 %D0%B8%D0%BC%D1%8F\",\"12\":\"%D0%90%D0%B4%D1%80%D0%B5%D1%81\",\"13\":\"%D0%94%D0%BE%D0%BB%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%8C\",\"14\":\"%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D1%8B\",\"15\":\"%D0%98%D0%BC%D1%8F\",\"16\":\"%D0%A4%D0%B0%D0%BC%D0%B8%D0%BB%D0%B8%D1%8F\"},\"Values\":{}}",
"NonceRequired":true
}
Типовые ошибки
HTTP-код | Ошибка | Описание |
---|---|---|
404 | Пользователь не найден | |
400 | key_not_found | Анонимное устройство с идентификатором [ kid ] не найдено. |
Создание QR-кода с Kinit
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss/init |
Параметры | id - Глобальный идентификатор пользователя MyDssKInitRequest - Информация для отправки кода активации |
Возвращаемое значение | MyDssCreatedKeyInfo - Информация об устройстве и K-init |
Примечание
Если настройками сервера отключено требование кодов активации KInit, то параметры Msisdn
и Email
игнорируются.
Примечание
Если настройками сервера включено требование подтверждения контактной информации, то указанные в
параметрах Msisdn
и Email
должны быть заранее зарегистрированы в профиле пользователя.
Если требование подтверждения контактной информации отключено, то код активации KInit будет отправлен на указанный номер телефона или Email. Значения номера телефона или Email не заносятся в профиль пользователя.
Пример запроса
POST https://<hostname>/STS/ums/user/33f03deb-9e31-42ce-a660-1a456190f4a3/mydss/init HTTP/1.1
Content-Type: application/json; charset=utf-8
{}
Пример ответа
HTTP/1.1 200 OK
{
"KeyInfo":
{
"EncryptedBlobs":"ASAAA ... ADQBS9V",
"PublicKey":null,
"Seed":null,
"ActivationRequired":false,
"ServiceUrl":"https:/hostname:4430/mydss",
"Alias":null,
"Uid":"33f03deb-9e31-42ce-a660-1a456190f4a3",
"Kid":"73128502",
"DeviceName":null,
"NotBefore":1574880257,
"NotAfter":1614451457,
"State":"Active",
"UserName":null,
"Profile":null,
"NonceRequired":false
},
"QrCode":"R0lGODlhLAEsAf...",
"QRCodeData": "{\"type\":\"Kinit\",\"version\":1,\"data\":{\"kid\":\"73128502\",\"uid\":\"33f03deb-9e31-42ce-a660-1a456190f4a3\",\"service_url\":\"https://hostname:4430/mydss\",\"key_content\":\"ASAAAB5mAA ... BS9V\",\"activation_required\":false,\"weakness\":true}}"
}
HTTP-код | Ошибка | Описание |
---|---|---|
404 | Пользователь не найден | |
400 | initialization_key_already_exists | У пользователя уже есть ключ инициализации нового устойства. |
400 | invalid_contact_info | * Параметр [Msisdn] не задан или имеет невалидный формат. * Нет возможности отправить вторую часть ключевой информации: не задана контактная информация пользователя. |
400 | wrong_operation | * Нет возможности отправить вторую часть ключевой информации: не настроен модуль оповещения. * Контактная информация [ contact ] типа [contactType ] не добавлена для этого пользователя. |
400 | invalid_license | |
500 | internal_error | Внутренняя ошибка сервиса. Необходимо обратиться к Администратору. |
Получение существующего QR-кода с Kinit
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss/init/get |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | MyDssCreatedKeyInfo - Информация об устройстве и K-init |
Пример запроса
POST https://<hostname>/STS/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/mydss/init/get HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
{
"KeyInfo":
{
"EncryptedBlobs":"ASAAA ... ADQBS9V",
"PublicKey":null,
"Seed":null,
"ActivationRequired":false,
"ServiceUrl":"https:/hostname:4430/mydss",
"Alias":null,
"Uid":"33f03deb-9e31-42ce-a660-1a456190f4a3",
"Kid":"73128502",
"DeviceName":null,
"NotBefore":1574880257,
"NotAfter":1614451457,
"State":"Active",
"UserName":null,
"Profile":null,
"NonceRequired":false
},
"QrCode":"R0lGODlhLAEsAf...",
"QRCodeData": "{\"type\":\"Kinit\",\"version\":1,\"data\":{\"kid\":\"73128502\",\"uid\":\"33f03deb-9e31-42ce-a660-1a456190f4a3\",\"service_url\":\"https://hostname:4430/mydss\",\"key_content\":\"ASAAAB5mAA ... BS9V\",\"activation_required\":false,\"weakness\":true}}"
}
HTTP-код | Ошибка | Описание |
---|---|---|
404 | Пользователь не найден | |
400 | key_not_found | Ключ инициализации не найден. |
Повторная отправка кода активации на KInit
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}mydss/init/resendotp |
Параметры | id - Глобальный идентификатор пользователя MyDssKInitRequest - Информация для отправки кода активации |
Возвращаемое значение | MyDssCreatedKeyInfo - Информация об устройстве и K-init |
Примечание
Если настройками сервера включено требование подтверждения контактной информации, то указанные в
параметрах Msisdn
и Email
должны быть заранее зарегистрированы в профиле пользователя.
Если требование подтверждения контактной информации отключено, то код активации KInit будет отправлен на указанный номер телефона или Email. Значения номера телефона или Email не заносятся в профиль пользователя.
Пример запроса
POST https://<hostname>/STS/ums/user/33f03deb-9e31-42ce-a660-1a456190f4a3/mydss/init/resendotp HTTP/1.1
Content-Type: application/json; charset=utf-8
{"msisdn":"71234567890"}
Пример ответа
HTTP/1.1 200 OK
{
"KeyInfo":
{
"EncryptedBlobs":"ASAAA ... ADQBS9V",
"PublicKey":null,
"Seed":null,
"ActivationRequired":false,
"ServiceUrl":"https:/hostname:4430/mydss",
"Alias":null,
"Uid":"33f03deb-9e31-42ce-a660-1a456190f4a3",
"Kid":"73128502",
"DeviceName":null,
"NotBefore":1574880257,
"NotAfter":1614451457,
"State":"Active",
"UserName":null,
"Profile":null,
"NonceRequired":false
},
"QrCode":"R0lGODlhLAEsAf...",
"QRCodeData": "{\"type\":\"Kinit\",\"version\":1,\"data\":{\"kid\":\"73128502\",\"uid\":\"33f03deb-9e31-42ce-a660-1a456190f4a3\",\"service_url\":\"https://hostname:4430/mydss\",\"key_content\":\"ASAAAB5mAA ... BS9V\",\"activation_required\":false,\"weakness\":true}}"
}
HTTP-код | Ошибка | Описание |
---|---|---|
404 | Пользователь не найден | |
400 | key_not_found | Ключ инициализации не найден. |
400 | invalid_contact_info | * Параметр [Msisdn] не задан или имеет невалидный формат. * Нет возможности отправить вторую часть ключевой информации: не задана контактная информация пользователя. |
400 | wrong_operation | * У ключа инициализации нового устойства нет кода активации. * Нет возможности отправить вторую часть ключевой информации: не настроен модуль оповещения. * Контактная информация [ contact ] типа [contactType ] не добавлена для этого пользователя. |
Удалить QR-код с Kinit
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss/init/delete |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | Отсутствует |
Пример запроса
POST https://<hostname>/STS/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/mydss/init/delete HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Получение QR-код с Nonce
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss/verify/get |
Параметры | id - Глобальный идентификатор пользователя MyDssGetVerificationDataRequest - Информация об устройстве |
Возвращаемое значение | Отсутствует |
Пример запроса
POST https://<hostname>/STS/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/mydss/verify/get HTTP/1.1
Content-Type: application/json; charset=utf-8
{"Kid":"73128110"}
Пример ответа
HTTP/1.1 200 OK
{
"QrCode":"R0lGODlhLA ... RczdZ8zdiczdq8zdzczd78zeAczuI8zuRczuZ8zuisEgEBADs=",
"QrCodeData":"{\"type\":\"Verification\",\"version\":1,\"data\":{\"kid\":\"73128110\",\"uid\":\"8d16086d-676c-49d6-bf49-09e6f936a596\",\"service_url\":\"https://simdss.cryptopro.ru:4430/mydss\",\"seed\":\"DQiMn1xAvdQFQlAR4ceB3NkWaevDppM7klIVOZZssTc=\",\"nonce\":\"cKx+pdmejI/SRz3OQex32wd6vNF7oVni6LsAf7SfOZw=\"}}",
"Data":
{
"type":"Verification",
"version":1,
"data":
{
"kid":"73128110",
"uid":"8d16086d-676c-49d6-bf49-09e6f936a596",
"service_url":"https://hostname:4430/mydss",
"seed":"DQiMn1xAvdQFQlAR4ceB3NkWaevDppM7klIVOZZssTc=",
"nonce":"cKx+pdmejI/SRz3OQex32wd6vNF7oVni6LsAf7SfOZw="
}
}
}
Получает информацию о ключах аутентификации myDSS
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | UserMyDssAuthInfo - сведения об устройствах пользователя |
Пример запроса
POST https://<hostname>/STS/ums/user/8d16086d-676c-49d6-bf49-09e6f936a596/mydss HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
{
"UserId":"8d16086d-676c-49d6-bf49-09e6f936a596",
"Keys":
[
{
"Uid":"8d16086d-676c-49d6-bf49-09e6f936a596",
"Kid":"73128110",
"DeviceName":"MyApple",
"NotBefore":1574869065,
"NotAfter":1614440265,
"State":"NotVerified",
"UserName":"MdagTestUser-D547B268",
"Profile":"{\"Version\":1,\"Keys\":{\"1\":\"%D0%9E%D0%93%D0%A0%D0%9D\",\"2\":\"%D0%9E%D0%93%D0%A0%D0%9D%D0%98%D0%9F\",\"3\":\"%D0%A1%D0%9D%D0%98%D0%9B%D0%A1\",\"4\":\"%D0%98%D0%9D%D0%9D\",\"5\":\"%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F %D0%BF%D0%BE%D1%87%D1%82%D0%B0\",\"6\":\"%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%B0\",\"7\":\"%D0%9E%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C\",\"8\":\"%D0%93%D0%BE%D1%80%D0%BE%D0%B4\",\"9\":\"%D0%9E%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F\",\"10\":\"%D0%9F%D0%BE%D0%B4%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5\",\"11\":\"%D0%9E%D0%B1%D1%89%D0%B5%D0%B5 %D0%B8%D0%BC%D1%8F\",\"12\":\"%D0%90%D0%B4%D1%80%D0%B5%D1%81\",\"13\":\"%D0%94%D0%BE%D0%BB%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%8C\",\"14\":\"%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D1%8B\",\"15\":\"%D0%98%D0%BC%D1%8F\",\"16\":\"%D0%A4%D0%B0%D0%BC%D0%B8%D0%BB%D0%B8%D1%8F\"},\"Values\":{\"5\":\"E12\",\"7\":\"S10\",\"8\":\"L9\",\"9\":\"O8\",\"10\":\"OU7\",\"11\":\"CN6\",\"12\":\"Street5\",\"13\":\"T4\",\"14\":\"I3\",\"15\":\"G2\",\"16\":\"SN1\"}}",
"NonceRequired":true
}
],
"InitializationToken":null}
Блокировка устройства пользователя
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss/lockout |
Параметры | id - Глобальный идентификатор пользователя MyDssLockoutDeviceRequest - Информация об устройстве |
Возвращаемое значение | MyDssKeyInfo - Обновленная нформация об устройстве |
Пример запроса
POST https://<hostname>/STS/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/mydss/lockout HTTP/1.1
Content-Type: application/json; charset=utf-8
{
"Kid": "73128110",
"Lock": true
}
Пример ответа
HTTP/1.1 200 OK
{
"Uid": "9fba6076-3509-4e8e-abc1-dae6d052a230",
"Kid": "73128110",
"DeviceName": "MyApple",
"NotBefore":1574869065,
"NotAfter":1614440265,
"State": "NotVerified,Blocked",
"UserName": "MdagTestUser-D547B268",
"Profile":"{\"Version\":1,\"Keys\":{\"1\":\"%D0%9E%D0%93%D0%A0%D0%9D\",\"2\":\"%D0%9E%D0%93%D0%A0%D0%9D%D0%98%D0%9F\",\"3\":\"%D0%A1%D0%9D%D0%98%D0%9B%D0%A1\",\"4\":\"%D0%98%D0%9D%D0%9D\",\"5\":\"%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F %D0%BF%D0%BE%D1%87%D1%82%D0%B0\",\"6\":\"%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%B0\",\"7\":\"%D0%9E%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C\",\"8\":\"%D0%93%D0%BE%D1%80%D0%BE%D0%B4\",\"9\":\"%D0%9E%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F\",\"10\":\"%D0%9F%D0%BE%D0%B4%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5\",\"11\":\"%D0%9E%D0%B1%D1%89%D0%B5%D0%B5 %D0%B8%D0%BC%D1%8F\",\"12\":\"%D0%90%D0%B4%D1%80%D0%B5%D1%81\",\"13\":\"%D0%94%D0%BE%D0%BB%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%8C\",\"14\":\"%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D1%8B\",\"15\":\"%D0%98%D0%BC%D1%8F\",\"16\":\"%D0%A4%D0%B0%D0%BC%D0%B8%D0%BB%D0%B8%D1%8F\"},\"Values\":{\"5\":\"E12\",\"7\":\"S10\",\"8\":\"L9\",\"9\":\"O8\",\"10\":\"OU7\",\"11\":\"CN6\",\"12\":\"Street5\",\"13\":\"T4\",\"14\":\"I3\",\"15\":\"G2\",\"16\":\"SN1\"}}",
"NonceRequired":true
}
Удаление устройства пользователя
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss |
Параметры | id - Глобальный идентификатор пользователя MyDssDeleteKeyRequest - Информация об устройстве |
Возвращаемое значение | Отсутствует |
Пример запроса
POST https://<hostname>/STS/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/mydss HTTP/1.1
Content-Type: application/json; charset=utf-8
{"Kid":"73128110"}
Пример ответа
HTTP/1.1 200 OK
Удаление всех токенов аутентификации myDSS
Параметр | Значение |
---|---|
HTTP-метод | DELETE |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/mydss |
Параметры | |
Возвращаемое значение |
Пример запроса
DELETE https://<hostname>/STS/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/mydss HTTP/1.1
Пример ответа
HTTP/1.1 200 OK
Настройка политики подтверждения операций
Получение политики подтверждения операций пользователя
GetUserOperationPolicy
Параметр | Значение |
---|---|
HTTP-метод | GET |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/operationpolicy |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | List<OperationPolicy> - Политика подтверждения операций пользователя |
Пример запроса
GET https://<hostname>/STS/ums/user/1e4ba67f-937d-48a4-9852-93bcff012486/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/operationpolicy |
Параметры | id - Глобальный идентификатор пользователя IList<DSSActions> - Список операций, для которых требуется подтверждение |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/519900cc-fb54-40ab-8b44-794d5fd7dc1b/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/accesspolicy |
Параметры | id - Глобальный идентификатор пользователя |
Возвращаемое значение | List<AccessPolicy> - Политика доступа к операциям пользователя |
Пример запроса
GET https://<hostname>/STS/ums/user/55cd94d3-3cb4-48b0-90a0-6f3ead9cb0bd/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://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/accesspolicy |
Параметры | id - Глобальный идентификатор пользователя IList<DSSActions> - Список операций, для которых требуется подтверждение |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/55cd94d3-3cb4-48b0-90a0-6f3ead9cb0bd/accesspolicy HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 6
[2,
16]
Пример ответа
HTTP/1.1 200 OK
Блокировка/разблокировка пользователя
SetUserLockoutState
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/lockout |
Параметры | id - Глобальный идентификатор пользователя islocked - Требуемое состояние учетной записи (True или False) |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/lockout?lock=True HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 2
{}
Пример ответа
HTTP/1.1 200 OK
Отложенная блокировка пользователя
SetUserLockoutStateEx
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://<адрес сервера>/<имя приложения ЦИ>/ums/user/{id}/lockoutex |
Параметры | id - Глобальный идентификатор пользователя UserLockoutRequest - Параметры блокировки |
Возвращаемое значение | - |
Пример запроса
POST https://<hostname>/STS/ums/user/9fba6076-3509-4e8e-abc1-dae6d052a230/lockoutex HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 58
{
"LockUser": true,
"UseLockoutDelay": true,
"LockoutDelay": 30
}
Пример ответа
HTTP/1.1 200 OK