Авторизация по JWT-токену
JWT (JSON Web Token) — это токен с зашифрованной в нём информацией, по которому ваше приложение получает доступ к API интернет-банка.
Авторизация по JWT проще, чем по OAuth 2.0: вы генерируете токен в интернет-банке, задаёте срок его жизни и доступы, а затем передаёте его в заголовке каждого запроса. Этот способ подходит, если интеграцией пользуетесь только вы.
У JWT нет refresh-токена. Когда срок действия ключа истекает, его нужно перевыпустить вручную — см. Как перевыпустить JWT.
Как создать JWT-ключ
- В интернет-банке перейдите на вкладку «Сервисы».
- В разделе «Все сервисы» найдите «Интеграции и API» и выберите его.
- Нажмите «Создать JWT-ключ».
- Укажите название ключа — оно поможет отличать его от других, и срок доступа. После истечения срока ключ нужно будет перевыпустить.
- Нажмите «Продолжить».
- Выдайте разрешения — какие действия можно выполнять с этим ключом. Если у вас несколько компаний, разрешения задаются для каждой. По умолчанию выбраны все.
- Нажмите «Создать ключ».
- Введите код из смс — мы отправим его на номер текущего пользователя интернет-банка.
- Готово — ключ создан. Скопируйте его сразу или найдите позже в разделе «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
Если при создании ключа вы указали ограниченный срок доступа, к дате его истечения ключ нужно перевыпустить.
- Перейдите в сервис «Интеграции и API» в интернет-банке.
- В разделе «JWT-ключи» откройте ключ, который нужно перевыпустить.
- Нажмите на задачу «Перевыпустите ключ» — она появляется за неделю до окончания срока доступа.
- Введите название ключа и срок доступа. Разрешения останутся теми же, что вы указали при создании.
- Нажмите «Перевыпустить ключ».
- Введите код из смс — мы отправим его на номер текущего пользователя интернет-банка.
- Готово — ключ перевыпущен.
При перевыпуске обновляется не только JWT, но и client_id. Старые ключ и идентификатор после перевыпуска удаляются — не забудьте обновить их в своей интеграции и в настройках вебхуков.
FAQ
Как отозвать токен
Чтобы закрыть ключу доступ к API, удалите его в разделе «JWT-ключи». Запросы с удалённым ключом будут возвращать ошибку 403.
Можно ли изменить доступы или срок у созданного ключа
Напрямую — нет. При изменении доступов или срока ключ перевыпускается и client_id тоже обновляется.