Стандарты Открытых банковских интерфейсов (ОБИ) определяют конкретные требования к управлению согласием, доступу к данным и авторизацией операций для финансового рынка.
Ресурс согласия является частью механизма, с помощью которого Пользователи могут предоставлять согласие на доступ к своим данным сторонним сервисам или приложениям. Хотя ресурс согласия не содержит персональной информации Пользователя или других конфиденциальных данных, однако он позволяет контролировать, какие данные Пользователь разрешает делиться с третьей стороной и на какие конкретные цели.
Для этого пользователь определяет свои намерения (Черновик согласия), которые передаются в качестве запроса на создание ресурса.
Идентификатор ресурса согласия (далее сonsent_id
) служит уникальным идентификатором согласия Пользователя. Платформы Открытого банкинга, Поставщики и Сторонние поставщики услуг могут использовать consent_id
для получения и проверки статуса согласия Пользователя, гарантируя, что согласие получено и соблюдается надлежащим образом.
Стандарты ОБИ подчеркивают принципы минимизации данных и безопасности, обеспечивая, чтобы во время операций собиралась, обрабатывалась и передавалась только необходимая информация.
Параметр openbanking_intent_id
поддерживает эти принципы, обеспечивая механизм связи запросов на авторизацию с конкретным намерением Пользователя дать согласие (Черновик согласия) или намерениями провести операцию, минимизируя риск несанкционированного доступа к персональным данным.
ОБИ требует (строгой) аутентификации Пользователя для определенных действий, таких как инициирование платежей или доступ к конфиденциальным финансовым данным.
Протокол OIDC позволяет включать значение consent_id
в параметр объекта запроса openbanking_intent_id
(Passing a Request Object by Value служит средством связи процессов аутентификации и согласия вследствие чего синхронизируется процесс получения согласия с потоком аутентификации, гарантируя, что конкретное согласие Пользователя (которое уже определено) будет получено в контексте безопасного сеанса аутентификации. Эта связь помогает предотвратить несанкционированный доступ и гарантирует, что согласие будет получено контролируемым и проверяемым способом.
Consent_id облегчает проверку, предоставляя точку отсчета для отслеживания истории действий и решений, связанных с согласием.
Включаем openbanking_intent_id
в следущие claims
:"
userinfo
- связать информацию о пользовате с идентификатором согласия (идентификатор согласия будет включен в userinfo)id_token
- связать токен идентификации с идентификатором согласия (идентификатор согласия будет включен в токен идентификации)
{
"typ": "JWT",
"alg": "PS256"
}
{
"response_type": "code id_token",
"state": "98d6691382344e7fb03c853739d0a988",
"scope": "openid accounts offline_access",
"nonce": "642c0152a40a46bbb82bfda4e0799990",
"exp": 1618760589,
"max_age": 86400,
"claims": {
"userinfo": {
"openbanking_intent_id": {
"value": "0c9df54a-b926-4853-acc2-e318c9bd7c33",
"essential": true
}
},
"id_token": {
"openbanking_consent_id": {
"value": "0c9df54a-b926-4853-acc2-e318c9bd7c33",
"essential": true
},
"acr": {
"values": [
"urn:rubanking:sca",
"urn:rubanking:ca"
],
"essential": true
}
}
},
"aud": "https://sb-as.openbankingrussia.ru/sandbox/as/aft",
"iss": "4abd59d5970247969965a4f317a8f817",
"client_id": "4abd59d5970247969965a4f317a8f817",
"redirect_uri": "https://localhost.ru/cb"
}