Files
liptnotes/УКЭП через УБИ регистрация и вход.md

100 lines
7.3 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
**Цель встречи:** Согласовать реализацию для выпуска УКЭП через ЕБС.
**Ситуация:** Для регистрации и входа в новом приложении УКЭП предполагаются разные сценарии обработки. Сначала происходит идентификация в УБИ, а затем регистрация пользователя. Сначала происходит вход/восстановление пароля, а затем идентификация в УБИ как второй фактор.
**Вводные:** используется простой сценарий идентификации без проверок на стороне ИС. Используются свои страницы ошибок.
В зависимости от сценария предполагаются разные страницы с разными действиями для пользователя: прекратить, зарегистрироваться, войти в ЛК.
Всего есть три вида конечных страниц в рамках прохождения УБИ:
*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
successurl: **<#****if** productType == "test1">https://test1.ru/success**<#****elseif** productType == "test2">https://test2.ru/success**<#****else****>**https://test3.ru**</#****if****>**
errorurl: **<#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: Показывает страницу ошибки идентификации ЕБС
```
Возможен ли такой вариант?