Integration Guide for Banks
[UKR] Посібник з інтеграції для банку
[UKR] Посібник з інтеграції для банку
  • General
    • 💰Загальний опис
      • Перекази між цифровізованими сутностями
        • Варіант 1. Швидке створення/видалення ідентифікаторів
        • Варіант 2. Стандартне створення/видалення ідентифікаторів (опціонально)
      • Історія версій
      • Журнал змін API
      • Глосарій
    • 🌐Загальні вимоги
    • 👉Базовий варіант впровадження
    • 📅План інтеграції
      • План інтеграції (Бізнес)
      • План інтеграції (Технічна команда)
      • Мультипідпис
    • ❗Повідомлення про помилки
  • 🛠️API МЕТОДИ
    • Автентифікація
      • Авторизація через JWT
      • Служба Аутентифікації Банку
      • JWT формат
    • Працівники
      • Призначити роль працівнику
      • Управління ролями
    • Клієнти
      • Сегмент
    • Цифровізовані сутності
    • Ідентифікатори
    • Трансфер (перерозподілення ідентифікаторів)
      • Мультипідпис для трансферів
      • Зворотні виклики
      • Категорія
    • Ліміти
    • Реконсиляція
    • [необов’язково] Відділення
      • Відділення (доступ)
      • Як додати працівника до віддлення (філії)
      • Фільтр по відділенню
      • Трансфери (Відділення)
Powered by GitBook
On this page
  1. API МЕТОДИ
  2. Автентифікація

Авторизація через JWT

JWT — це спосіб для банку авторизувати операцію за допомогою зворотного виклику

PreviousАвтентифікаціяNextСлужба Аутентифікації Банку

Last updated 1 year ago

JWT надсилається на кроці 3 через URL-адресу зворотного виклику. У разі невдачі відповіді операція відхиляється.

Система підтримує 2 способи створення JWT. Обидва підходи можна використовувати одночасно.

⬇️Опис
✅Перевага
🤔Недолік

DCM генерує JWT. Банк перевіряє його на відповідність публічному ключу DCM

Жодних зусиль для реалізації:

  • сховище для ключів

  • функція для створення JWT

Правила доступу для співробітників контролюються DCM.

  • Приватний ключ належить DCM

  • csrf_token має бути отримано з потоком логіна та пароля

ЗаголовокAuthorization має містити фактичний csrf_token.

⬇️Опис
✅Перевага
🤔Недолік

Банк генерує JWT

  • Приватний ключ належить Банку

  • Немає необхідності проходити автентифікацію за допомогою логіна-паролю

  1. Зусилля для реалізації:

    • сховище для ключів

    • функція для створення JWT

    • правила доступу працівників

JWT супроводжує всі запити API в заголовкуCX-Authorization.

ЗаголовокAuthorization має бути порожнім..

JWK Банку

На кроці 2 Банк генерує JWT, який використовується на кроці 5 у заголовку CX-Authorization, коли працівник Банку виконує операцію (наприклад, створює нового клієнта). На кроці 6 DCM перевіряє JWT. Те саме робить Банк на кроці 8.

Кроки 3-4 є необов’язковими, і їх можна використовувати для перевірки дійсності JWT.

Реєстрація JWK в Банку

Щоб швидкого запуску процесу, використовується JWT by Bank, реєструється принаймні один ключ JWK в службі автентифікації для Контрагента.

Request example
{"data": {
	"alg": "RS256",
	"e": "AQAB",
	"kid": "54321",
	"kty": "RSA",
	"n": "14FGZls6nrBLY2XH9Dn6UVoY24oynIXJX1PGz6c4wB2Q3DpBj-zPwouhXCQSAGyQB4Co0FN0_pML5g1xSOMY1SccBGZ_CxhdSvyskP01Fr0_rHidIdRIc69k-UPzhnk6Nx_F1uFp8105jUD2Tq_VYIS49rqtct4UQOL5PPzfTOUqBMAEBwvL65KqUAOciC1ae_LV6SHZQXdIqv3EZzA3PxZ4pTa6DvnjgVAbP2zNANUFSnuemvTmQbH05E0qTtGkXugwcc4jCfnOWS4gix2GWDoIhwCi8AbK4aAN-H3D770rF4z4Tb59DEw8-8hZQZtyoJeEi8FWNM1Y6Ki5FMxzpQ",
	"use": "sig"
}}

Отримання списку зареєстрованих ключів для JWT Банку

Коли JWK зареєстровано, можна перевірити, чи існує він у сховищі реєстру.

Перевірка JWT Банку

Ця функція дозволяє перевіряти JWT у службі автентифікації без змін до будь-яких об’єктів і процесів.

JWT від DCM

Схема за замовчуванням (коли JWT створюється DCM) дозволяє використовувати рольовий доступ до функцій системи.

DCM генерує маркер JWT на кроці 4. Банк перевіряє його на кроці 6.

Отримання списку зареєстрованих ключів для JWT DCM

Можена перевірити JWT DCM у службі аутентифікації Банку, використовуючи наш відкритий ключ його дочірнього.

DCM може вручну підтверджувати запити до .

Доступне лише автоматичне підтвердження

🛠️
Ідентифікатори
Ідентифікатори

Get jwks

get

Get jwks

Path parameters
counterparty_guidstringRequired

Counterparty GUID

Responses
200
OK
application/json
400
json with error msg
application/json
get
GET /api/v1/counterparty/{counterparty_guid}/jwk HTTP/1.1
Host: your_host
Accept: */*
{
  "keys": [
    {
      "created_at": "text",
      "data": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      },
      "guid": "text",
      "updated_at": "text"
    }
  ]
}

Authenticate

post

Authenticate

Path parameters
counterparty_guidstringRequired

Counterparty GUID

Header parameters
CX-AuthorizationstringRequired

Counterparty JWT

Responses
200
OK
application/json
400
json with error msg
application/json
post
POST /api/v1/counterparty/{counterparty_guid}/jwk/authenticate HTTP/1.1
Host: your_host
CX-Authorization: text
Accept: */*
{
  "session_token": "text"
}

get JWTS endpoint

get

get JWTS endpoint

Responses
200
OK
application/json
400
json with error msg
application/json
get
GET /api/v1/.well-known/jwks.json HTTP/1.1
Host: your_host
Accept: */*
{
  "keys": [
    {
      "alg": "text",
      "e": "text",
      "kid": "text",
      "kty": "text",
      "n": "text",
      "use": "text"
    }
  ]
}
  • JWK Банку
  • Реєстрація JWK в Банку
  • POSTCreate jwk
  • Отримання списку зареєстрованих ключів для JWT Банку
  • GETGet jwks
  • Перевірка JWT Банку
  • POSTAuthenticate
  • JWT від DCM
  • Отримання списку зареєстрованих ключів для JWT DCM
  • GETget JWTS endpoint

Create jwk

post

Create jwk

Path parameters
counterparty_guidstringRequired

Counterparty GUID

Body
Responses
200
OK
application/json
400
json with error msg
application/json
post
POST /api/v1/counterparty/{counterparty_guid}/jwk HTTP/1.1
Host: your_host
Content-Type: application/json
Accept: */*
Content-Length: 47

{
  "data": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  }
}
{
  "guid": "text"
}