100 lines
7.2 KiB
Markdown
100 lines
7.2 KiB
Markdown
**Цель встречи:** Согласовать реализацию для выпуска УКЭП через ЕБС.
|
||
|
||
**Ситуация:** Для регистрации и входа в новом приложении УКЭП предполагаются разные сценарии обработки. Сначала происходит идентификация в УБИ, а затем регистрация пользователя. Сначала происходит вход/восстановление пароля, а затем идентификация в УБИ как второй фактор.
|
||
|
||
**Вводные:** используется простой сценарий идентификации без проверок на стороне ИС.
|
||
|
||
В зависимости от сценария предполагаются разные страницы с разными действиями для пользователя: прекратить, зарегистрироваться, войти в ЛК.
|
||
|
||
Всего есть три вида конечных страниц в рамках прохождения УБИ:
|
||
|
||
*SucessUrl* – страница успеха [предполагаем, что на стороне приложения] – успешная идентификация – на стороне банка, перенаправление на страницу с product_id, product_type, token
|
||
*ErrorUrl* – страница ошибки [предполагаем, что на стороне приложения] – ошибки во время прохождения идентификации
|
||
*FailureUrl* – страница неуспеха, невозможно провести удалённую идентификацию (в случае отметки о налоговом резидентстве в опроснике – **может ли быть нашим случаем? используется ли опросник при выпуске УКЭП?** + при разрывном сценарии (не наш случай, используется простой сценарий))
|
||
|
||
**Предложение следующее:**
|
||
|
||
**Вопрос**: _Может ли быть несколько successUrl и несколько errorUrl?_
|
||
Может. Определение URL страницы успеха или ошибки возможно в зависимости от переданного параметра product_type в ссылке на старт сценария. Для этого в настройки success-url и error-url можно добавить шаблон с if-else конструкцией. Подробное описание настройки в документе «Типовое решение УБИ. Руководство по инсталляции» 5.4.7. Описание расширенных настроек сервиса «Маршрутизатор», 5.4.7.1. Настройка нескольких страниц успеха и ошибки.
|
||
|
||
Краткий ответ: может. См. стр. 37 документа УБИ. Руководство по инсталляции.
|
||
|
||
Как будет работать?
|
||
1) Использовать разные product_type для registration и login
|
||
2) Использовать конструкцию if else в настройках маршуртузитора для sucess_page и error_page
|
||
|
||
success‑url: **<#****if** productType == "test1">https://test1.ru/success**<#****elseif** productType == "test2">https://test2.ru/success**<#****else****>**https://test3.ru**</#****if****>**
|
||
|
||
error‑url: **<#if** productType == "test1">https://test1.ru/success**<#elseif** productType == "test2">https://test2.ru/success**<#else>**https://test3.ru**</#if>**
|
||
|
||
```plantuml
|
||
actor "Клиент" as client
|
||
participant "Банковское приложение" as bank
|
||
participant "Gate-Out" as gateout
|
||
participant "Модуль УБИ" as ubi
|
||
|
||
== Сценарий регистрации ==
|
||
client -> bank: Переходит на страницу регистрации
|
||
bank --> client: "Страница пройдите идентификацию через ЕБС"
|
||
client -> bank: Нажимает "Пройти идентификацию"
|
||
bank -> ubi: Редирект на модуль_уби/api/v1/authentication/start?bank_id=&product_id=&product_type=**registration**
|
||
|
||
ubi --> client: Отображает страницу идентификации
|
||
note right ubi: Включает в себя\nвход в ЕСИА и тд
|
||
client -> ubi: Проходит идентификацию
|
||
|
||
note over gateout, ubi #129453: Успех идентификации
|
||
|
||
ubi -> gateout: Передаёт сведения из ЕСИА
|
||
gateout -> bank: POST /clients/info [JSON]
|
||
bank -> bank: Создаёт ПД клиента
|
||
bank --> gateout: 200 OK [XML]
|
||
gateout --> ubi: 200 OK
|
||
|
||
ubi -> ubi: Определяет по product_type в Маршрутизаторе sucess_url
|
||
ubi --> bank: sucess_url_**registration**?bank_id=&product_id&pdroduct_type=**registration**&token=
|
||
bank -> client: Показывает страницу регистрации пользователя
|
||
|
||
note over gateout, ubi #f04a4a: Ошибка идентификации
|
||
|
||
ubi -> ubi: Определяет по product_type в Маршрутизаторе error_url
|
||
ubi --> bank: error_url_**registration**
|
||
bank -> client: Показывает страницу ошибки идентификации ЕБС
|
||
```
|
||
|
||
```plantuml
|
||
actor "Клиент" as client
|
||
participant "Банковское приложение" as bank
|
||
participant "Gate-Out" as gateout
|
||
participant "Модуль УБИ" as ubi
|
||
|
||
== Сценарий входа ==
|
||
client -> bank: Переходит на страницу входа и аутентифицируется
|
||
bank --> client: "Страница пройдите идентификацию через ЕБС" как 2 фактор
|
||
client -> bank: Нажимает "Пройти идентификацию"
|
||
bank -> ubi: Редирект на модуль_уби/api/v1/authentication/start?bank_id=&product_id=&product_type=**login**
|
||
|
||
ubi --> client: Отображает страницу идентификации
|
||
note right ubi: Включает в себя\nвход в ЕСИА и тд
|
||
client -> ubi: Проходит идентификацию
|
||
|
||
note over gateout, ubi #129453: Успех идентификации
|
||
|
||
ubi -> gateout: Передаёт сведения из ЕСИА
|
||
gateout -> bank: POST /clients/info [JSON]
|
||
bank -> bank: Метчит ПД клиента
|
||
bank --> gateout: 200 OK [XML]
|
||
gateout --> ubi: 200 OK
|
||
|
||
ubi -> ubi: Определяет по product_type в Маршрутизаторе sucess_url
|
||
ubi --> bank: sucess_url_login?bank_id=&product_id&pdroduct_type=**login**&token=
|
||
bank -> client: Показывает страницу регистрации пользователя
|
||
|
||
note over gateout, ubi #f04a4a: Ошибка идентификации
|
||
|
||
ubi -> ubi: Определяет по product_type в Маршрутизаторе error_url
|
||
ubi --> bank: error_url_**login**
|
||
bank -> client: Показывает страницу ошибки идентификации ЕБС
|
||
```
|
||
|
||
Возможен ли такой вариант? |