Авторизаційні запити

How to log in to the system with an employee credentials

Зміст сторінки

Опис

Для обміну API запитами банк має реалізувати можливість аутентифікуватися та авторизуватися на платформі Прозорої Мережі.

JWT токен має бути підписано банком для будь-якого запиту на кроці 1 (див. малюнок)

Додатковий крок 3 також має бути підписано банком.

Як імплементувати сервіс авторизації за JWT?

Зразок схеми реєстрації клієнта.

  • Як зазначено на схемі, на кроці 2 банк генерує JWT (зазначено блакитним) і відправляє його на кроці 5 у заголовку CX-Authorization.

  • На кроці 6 DCM перевіряє та валідує JWT

  • Згодом, на кроці 7 DCM формує власний JWT та надсилає його до Банку API endpoint /user_auth у заголовку X-Session-ID.

  • На кроці 8 банк перевіряє чи значення з X-Session-ID підписане ключем DCM

Кроки 3-4 не обов'язкові та можуть використовуватися для перевірки валідності JWT.

Update a JWK

Початковий JWK зареєстровано на платформі Прозорої Мережі під час функціональної інтеграції та розгортання тестового середовища.

Щойно строк дії вашого ключа сплив, необхідно зареєструвати новий JWT ключ за допомогою даного методу.

Update jwk

put

Update jwk

Path parameters
counterparty_guidstringRequired

Counterparty GUID

jwk_guidstringRequired

JWK GUID

Body
Responses
chevron-right
200

OK

application/json
Responseobject
put
/counterparty/{counterparty_guid}/jwk/{jwk_guid}
chevron-rightRequest body example (JWK)hashtag

Validate bank's JWT

Метод, що дозволяє банку валідувати власний JWT для авторизації на платформі Прозора Мережа

Authenticate

post

Authenticate

Path parameters
counterparty_guidstringRequired

Counterparty GUID

Header parameters
CX-AuthorizationstringRequired

Counterparty JWT

Responses
chevron-right
200

OK

application/json
post
/counterparty/{counterparty_guid}/jwk/authenticate

Check list of JWKs by DCM

Метод, що дозволяє отримати публічний ключ DCM. Таким чином, банк зможе перевірити та провалідувати JWT запит, підписаний DCM

Get list of registered keys for DCM JWT

get

Get list of registered keys for DCM JWT

Responses
chevron-right
200

OK

application/json
get
/.well-known/jwks.json

JWT format

JWT використовується для всіх 3 API запитів у заголовку X-Session-ID, щоб зазначити "хто" (суб'єкт) має намір зробити з "чим" (об'єкт). Зміст JWT повинен бути підписаний приватним ключем банку.

Приклад змісту (payload) JWT:

Таким чином, при отриманні банком зворотнього запиту (callback), банківська система перевіряє підпис, об'єкт та суб'єкт, які було вказано у початковому API запиті до платформи Прозорої Мережі.

Приклад підписаного JWT:

Вміст можна розшифрувати тутarrow-up-right.

Якщо на стороні банку всі перевірки виконано без помилок, то має бути надіслана успішна відповідь (див. деталі нижче). В іншому випадку очікується відповідь HTTP 401 (неавторизовано).

Авторизація за допомогою колбеків

Для забезпечення прозорості та безпечності платежів необхідно, щоб будь-який запис за рахунком клієнта було авторизовано обидвома учасниками процесу (Банк та Прозора Мережа).

Для цього потрібно реалізувати три API методи авторизації:

Метод
Шлях
Значення

GET

/user_auth

user data

GET

/key

user secret key

GET

/external_id

authentication

circle-info

Час відповіді за кожним із методів не повинен перевищувати 1 секунди.

Callback специфікація

GET /user_auth

Приклад запиту:

Приклад відповіді:

Атрибути external_id , key та phone є обов'язковими у відповіді.

GET /key

Приклад запиту:

Приклад відповіді:

GET /external_id

Приклад запиту:

Приклад відповіді:

Last updated