Не указан атрибут authnmethod что это
В данном разделе описывается последовательность действий для подтверждения операции по одноразовым паролям, отправляемых по СМС. Все запросы выполняются от Пользователя DSS.
Внимание!
Перед началом работы с Центром Идентификации, должны быть выполнены предварительные настройки сервиса Администратором DSS.
Предварительно должно быть:
Аутентификация пользователя на Центре Идентификации
В примере рассматривается авторизация с использованием учётных данных пользователя (логин/пароль). Подробная информация по протоколу аутентификации: The OAuth 2.0 Authorization Framework
В заголовке Authorization HTTP-запроса клиент должен передать идентификатор OAuth-клиента и секрет (если используется): Authorization: Basic Base64( : )
Примечание
В примере значение параметр password оставлено пустым, так как пользователю в качестве первичной аутентификации назначен метод «Только Идентификация»
Пример запроса
В случае успешной аутентификации ответ будет содержать:
Значение параметра access_token необходимо будет использовать при обращениях к Сервису Подписи и Сервису Подтверждения Операций.
Пример ответа
Типовые ошибки
| HTTP-код | Ошибка | Описание |
|---|---|---|
| 400 | invalid_client | OAuth-клиент не зарегистрирован или неверно указан clienID |
| 400 | unauthorized_client | OAuth-клиент использует незарегистрированный сценарий аутентификации (Flow) |
| 400 | invalid_request | Неверно сформирован параметр resource |
| 500 | An error has occurred | 1. Проверяющая сторона с идентификатором resource не зарегистрирована. |
1. Создание транзакции подписи на Сервисе Подписи
Для подтверждения любых операций на Сервисе Подписи используется метод /transactions.
В заголовке Authorization HTTP-запроса клиент должен указать AccessToken, полученный при аутентификации: Authorization: Bearer
В запросе необходимо указать:
Идентификатор сертификата подписи CertificateID можно получить, запросив список сертификатов пользователя у конечной точки \certificates.
В данном примере показано, как пользователь инициирует подписание документа, после того как аутентифицировался в Сервисе Подписи. Параметры создания транзакций для других операций приведены здесь
1.1 POST Запрос на создание транзакции подписи на Сервисе Подписи
В примере создаётся прикреплённая CAdES-BES подпись.
Пример ответа
Сервис Подписи вернёт идентификатор созданной транзакции.
Далее пользователю требуется, используя полученный идентифкатор, подтвердить транзакцию на Сервисе Подтверждения Операций.
Типовые ошибки
| HTTP-код | Ошибка | Описание |
|---|---|---|
| 400 | invalid_certificate | Неверный идентификатор сертификата |
| 400 | invalid_request | Неверно указаны параметры подписи |
2. Подтверждение транзакции подписи на Сервисе Подтверждения Операций
Для подтверждения транзакции, созданной на Сервисе Подписи, пользователь должен отправить запрос на Сервис Подтверждения Операций.
В заголовке Authorization HTTP-запроса клиент должен указать AccessToken, полученный при аутентификации: Authorization: Bearer
В запросе необходимо указать:
2.1 POST-запрос на подтверждение созданной транзакции
В зависимости от количества подключенных способов подтверждения операций возможно два варианта ответа на запрос:
При успешном выполнении запроса Пользователь должен получить на свой номер мобильного телефона одноразовый пароль. Необходимо запомнить идентификатор транзакции RefID для ее подтверждения в пункте 2.2.
Необходимо запомнить идентификатор транзакции RefID для выбора метода ее подтверждения в пункте 2.1.1.
Ответ Сервиса Подтверждения Операций содержит:
Поле Challenge содержит:
| Поле | Описание |
|---|---|
| Title | Текст, который вызывающая система может отобразить пользователю в своём интерфейсе |
| TextChallenge | Дополнительные данные для подтверждения операции |
| ChoiceChallenge | Возвращается только в случае, если у Пользователя включено несколько способов подтверждения транзакций. Содержит информацию об этих способах подтверждения транзакций. |
В поле TextChallenge содержится:
| Поле | Описание |
|---|---|
| RefID | Идентификатор транзакции, созданной на Сервисе Подтверждения Операций |
| ExpiresIn | Срок действия транзакции, созданной на Сервисе Подтверждения Операций |
| AuthnMethod | Идентификатор метода, используемый для подтверждения транзакции |
Примечание
В поле ChoiceChallenge содержится:
| Поле | Описание |
|---|---|
| RefID | Идентификатор транзакции, созданной на Сервисе Подтверждения Операций |
| Choice | Информация о доступных способах подтверждения транзакций |
В поле Choice содержится:
| Поле | Описание |
|---|---|
| RefID | Идентификатор метода подтверждения транзакции |
| Label | Название метода подтверждения транзакции |
Примечание
2.1.1 POST Запрос на выбор метода подтверждения транзакции (только если подключено несколько методов подтверждения)
В заголовке Authorization HTTP-запроса клиент должен указать AccessToken, полученный при аутентификации: Authorization: Bearer
В запросе необходимо указать:
При успешном выполнении запроса Пользователь должен получить на свой номер мобильного телефона одноразовый пароль. Необходимо запомнить новый идентификатор транзакции RefID для ее подтверждения в пункте 2.2.
Примечание
2.2 POST Запрос на получение результата подтверждения транзакции
Для отправки кода подтверждения операции, созданной на Сервисе Подписи, пользователь должен отправить запрос на Сервис Подтверждения Операций.
В заголовке Authorization HTTP-запроса клиент должен указать AccessToken, полученный при аутентификации: Authorization: Bearer
В запросе необходимо указать:
Типовые ошибки
| HTTP-код | Ошибка | Описание |
|---|---|---|
| 400 | invalid_transaction | 1. Срок действия транзакции истёк 2. Передан неверный идентификатор транзакции ( RefId ) |
| 400 | authentication_failed | Передан неверный код подтверждения |
При успешном выполнении запросов транзакция подписи является подтвержденной на Сервисе Подтверждения Операций. Пользователю возвращается новый AccessToken, который понадобится при обращении к Сервису Подписи за результатом операции.
3. Получение подписанного документа на Сервисе Подписи
Для получения подписанного документа необходимо отправить запрос Сервису Подписи на конечную точку /documents.
Примечание
В заголовке Authorization HTTP-запроса клиент должен указать AccessToken полученный от Сервиса Подтверждения Операций в пункте 2.2: Authorization: Bearer
3.1 POST Запрос на получение подписанного документа
Примечание
Если закрытый ключ сертификата защищён на ПИН-коде, то ПИН-код должен быть указан при обращении на конечную точку /documents
Часто встречающиеся ошибки RSS-канала
При обработке RSS-канала Вебмастер может обнаружить ошибки, которые влияют на полноту содержимого Турбо‑страницы и ее отображение. Ниже представлены часто встречающиеся из них:
| Ошибка | Описание | Решение |
|---|---|---|
| Cодержимое Турбо‑страницы не соответствует оригинальной версии (в элементе turbo:content текст не разбит на абзацы) | ||