6.2.1.1. Пошаговое описание

Шаг 1 - Запрос информации о счете:

- Этот поток начинается с согласия Пользователя на предоставление СПИУ доступа к информации о счете.

Шаг 2 - Настройка согласия на доступ к информации о счете:

- Между СПИУ и сервером авторизации ППУ устанавливается защищенный канал связи в рамках стандарта "Открытые банковские интерфейсы. Безопасность финансовых (банковских) операций. Прикладные программные интерфейсы обеспечения безопасности финансовых сервисов на основе протокола OpenID".

- СПИУ с помощью потока Client Credentials Grant получает на сервере авторизации ППУ токен доступа (access-token).

- Между СПИУ и сервером ресурсов ППУ устанавливается защищенный канал связи в рамках стандарта "Открытые банковские интерфейсы. Безопасность финансовых (банковских) операций. Прикладные программные интерфейсы обеспечения безопасности финансовых сервисов на основе протокола OpenID".

- СПИУ подключается к ППУ, который обслуживает счет (счета) Пользователя и создает ресурс согласия на доступ к информации о счете. ППУ сообщается о том, что один из его Пользователей предоставляет доступ к информации о счете и информации о транзакциях для СПИУ. ППУ отвечает идентификатором ресурса (consentId). Этот шаг выполняется с помощью запроса POST к конечной точке/account-consents.

- Ресурс согласия на доступ к информации о счете будет включать в себя следующие поля, которые описывают данные, на которые Пользователь дал согласие для СПИУ:

- Permissions - список кластеров данных, которые были разрешены для доступа.

- Expiration Date - необязательное поле, означающее срок действия доступа СПИУ к данным Пользователя.

- Transaction Validity Period - необязательное поле, означающее диапазон дат, который определяет период для транзакций и выписок, к которым СПИУ может получить доступ.

- СПИУ может быть посредником для передачи данных другим сторонам, поэтому для Пользователя допустимо иметь несколько account-consents - ресурсов на доступ к информации о счете для одного и того же счета с разными параметрами согласия и (или) авторизации.

Шаг 3 - Авторизация согласия:

- СПИУ запрашивает у Пользователя авторизацию согласия. ППУ выполняет это с использованием потока перенаправления (redirection flow):

- СПИУ перенаправляет Пользователя на страницу к ППУ.

- Перенаправление содержит consentId, созданный на предыдущем шаге, что позволяет ППУ сравнить с идентификатором имеющегося у него ресурса согласия на доступ к информации о счете (account-consent).

- ППУ аутентифицирует Пользователя.

- ППУ обновляет статус ресурса согласия на доступ к информации о счете (account-consent), фиксируя, что согласие было авторизовано.

- Как только согласие было авторизовано, Пользователь перенаправляется обратно на сторону СПИУ с кодом авторизации (authorization-code).

- Между СПИУ и сервером авторизации ППУ устанавливается защищенный канал связи в рамках стандарта "Открытые банковские интерфейсы. Безопасность финансовых (банковских) операций. Прикладные программные интерфейсы обеспечения безопасности финансовых сервисов на основе протокола OpenID".

- СПИУ обменивает на сервере авторизации ППУ код авторизации (authorization-code) на токен доступа (access-token).

- Между Пользователем и СПИУ осуществляется управление согласием, поэтому на этом этапе не могут изменяться детали согласия на доступ к информации о счете (с ППУ). Пользователь может только полностью авторизовать или отклонить данные о согласии на доступ к информации о счете.

- Во время авторизации Пользователь выбирает счета, которые авторизованы для запросов СПИУ (в интерфейсе ППУ).

Шаг 4 - Запрос данных:

- Между СПИУ и сервером ресурсов ППУ устанавливается защищенный канал связи в рамках стандарта "Открытые банковские интерфейсы. Безопасность финансовых (банковских) операций. Прикладные программные интерфейсы обеспечения безопасности финансовых сервисов на основе протокола OpenID".

- СПИУ выполняет запрос данных с помощью запроса GET для соответствующего ресурса.

- Уникальные accountId(s), которые соответствуют согласию на доступ к информации о счетах (account-consent), будут возвращены при вызове GET /accounts. Это всегда будет первый вызов при наличии у СПИУ действующего токена доступа (access-token).