Перейти к основному содержимому

Авторизация по JWT-токену

JWT (JSON Web Token) — это токен с зашифрованной в нём информацией, по которому ваше приложение получает доступ к API интернет-банка.

Авторизация по JWT проще, чем по OAuth 2.0: вы генерируете токен в интернет-банке, задаёте срок его жизни и доступы, а затем передаёте его в заголовке каждого запроса. Этот способ подходит, если интеграцией пользуетесь только вы.

Инфо

У JWT нет refresh-токена. Когда срок действия ключа истекает, его нужно перевыпустить вручную — см. Как перевыпустить JWT.

Как создать JWT-ключ

  1. В интернет-банке перейдите на вкладку «Сервисы».
  2. В разделе «Все сервисы» найдите «Интеграции и API» и выберите его.
  3. Нажмите «Создать JWT-ключ».
  4. Укажите название ключа — оно поможет отличать его от других, и срок доступа. После истечения срока ключ нужно будет перевыпустить.
  5. Нажмите «Продолжить».
  6. Выдайте разрешения — какие действия можно выполнять с этим ключом. Если у вас несколько компаний, разрешения задаются для каждой. По умолчанию выбраны все.
  7. Нажмите «Создать ключ».
  8. Введите код из смс — мы отправим его на номер текущего пользователя интернет-банка.
  9. Готово — ключ создан. Скопируйте его сразу или найдите позже в разделе «JWT-ключи».
Совет

Вместе с ключом сохраните client_id — он отображается рядом с токеном и понадобится для работы с вебхуками.

Как использовать JWT

Передавайте токен в заголовке Authorization каждого запроса в формате Bearer <jwt_token>.

Пример запроса — получение списка счетов:

curl -L 'https://enter.tochka.com/uapi/open-banking/v1.0/accounts' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <jwt_token>'

Базовый URL на боевом слое — https://enter.tochka.com/uapi.

Совет

Опробовать запросы с JWT без написания кода удобно в Postman — смотрите Коллекцию запросов. Потренироваться на тестовых данных можно в Песочнице.

Как перевыпустить JWT

Если при создании ключа вы указали ограниченный срок доступа, к дате его истечения ключ нужно перевыпустить.

  1. Перейдите в сервис «Интеграции и API» в интернет-банке.
  2. В разделе «JWT-ключи» откройте ключ, который нужно перевыпустить.
  3. Нажмите на задачу «Перевыпустите ключ» — она появляется за неделю до окончания срока доступа.
  4. Введите название ключа и срок доступа. Разрешения останутся теми же, что вы указали при создании.
  5. Нажмите «Перевыпустить ключ».
  6. Введите код из смс — мы отправим его на номер текущего пользователя интернет-банка.
  7. Готово — ключ перевыпущен.
Важно

При перевыпуске обновляется не только JWT, но и client_id. Старые ключ и идентификатор после перевыпуска удаляются — не забудьте обновить их в своей интеграции и в настройках вебхуков.

FAQ

Как отозвать токен

Чтобы закрыть ключу доступ к API, удалите его в разделе «JWT-ключи». Запросы с удалённым ключом будут возвращать ошибку 403.

Можно ли изменить доступы или срок у созданного ключа

Напрямую — нет. При изменении доступов или срока ключ перевыпускается и client_id тоже обновляется.