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

Веб-авторизация


Принцип работы

  1. Клиент нажимает Войти с TID на сайте партнера. Партнерский сервис генерирует параметр state и связывает его с браузером пользователя для защиты от CSRF-атак.

  2. Авторизация инициируется вызовом метода GET https://id.tbank.ru/auth/authorize со следующими параметрами:

    • client_id — идентификатор, который вы получили после регистрации.
    • redirect_urihttps://myintegration.ru/auth/complete.
    • state — параметр, который сгенерировал сервис партнера.
    • response_typecode.
    • scope_parameters — необязательный параметр для TBusiness ID: JSON с ИНН и КПП компании клиента. Передается, чтобы определить, к какой компании давать доступ. Если у компании клиента нет КПП, передайте 0.

    Если данные неизвестны, не передавайте этот параметр.

"inn" : "9999980892",
"kpp" : "999991001"
  1. Открывается экран аутентификации в TID:

    • для веб-приложений — окно id.tbank.ru для ввода номера телефона;
    • для мобильных приложений — экран ввода кода.
  2. Пользователь вводит данные для прохождения аутентификации.

  3. Открывается окно авторизации с выбором доступов.


  1. Пользователь нажимает Продолжить, соглашаясь с передачей данных. В зависимости от настроек партнерского приложения, пользователь может отметить данные, которые он не готов предоставить. Если пользователь разрешает передачу всех данных, в следующих авторизациях это окно не открывается.

  2. На https://myintegration.ru/auth/complete приходит запрос вида:

https://myintegration.ru/auth/complete?state=ABCxyz&code=c.1aGiAXX3Ni&session_state=hXXXXXXY3kgs3nx0H3RTj3JzCSrdaqaDhU6lS8XXXXX.i4kl6dsEB1SQogzq0Nj0
  • state — параметр, который сгенерировал сервис партнера на шаге отправки запроса /authorize;
  • code — параметр, нужный для получения Access Token на следующем шаге;
  • session_state — технический параметр TID.
  1. Ваше приложение валидирует параметр state. Если валидация прошла успешно, сохраните значение параметра code, чтобы получать токены.

Токены

Чтобы получить Access Token, используйте метод POST https://id.tbank.ru/auth/token. Запрос должен выполняться с бэкенда.

  • Authorization: basic, где username и password соответствуют client-id и client_secret, который вы получили на электронную почту после регистрации. Примеры составления на разных языках.
  • Content-type: application/x-www-form-urlencoded.
  • grant_type: authorization_code.
  • redirect_uri: https://myintegration.ru/auth/complete.
  • code — код из пункта 8.

Проверить доступы

Проверяйте наличие доступов и корректность переданных данных.

После получения токена мы рекомендуем проверить, что клиент предоставил нужные доступы, и партнерский сервис правильно передал данные в scope_parameters. Для этого используйте метод POST https://id.tbank.ru/auth/introspect и проверьте список доступов в поле scope в ответе.

  • Authorization: basic, где username и password соответствуют client-id, которые клиент получил на электронную почту после регистрации. Примеры составления на разных языках.
  • Content-type: application/x-www-form-urlencoded.
  • token — тело токена.

В описании каждого метода TAPI есть шаблон доступа — он должен быть в поле scope полученного ответа.

С помощью полученного токена можно:

  • для физических лиц — запросить данные профиля, почты и паспорта;
  • для юридических лиц — создавать черновики платежных поручений компании с ИНН 9999980892 и КПП 999991001.

Персональные данные

  • Сервис партнера обращается к TAPI для получения персональных данных клиентов. Список доступных методов TAPI.

  • Персональные данные клиента передаются для заполнения учетной записи и завершения авторизации.

  • Сервис партнера перенаправляет клиента согласно бизнес-логике. Если вы обнаружили схожесть новых учетных данных с существующими, вы можете объединить учетные записи.

openapi@tbank.ru

АО «ТБанк» использует файлы «cookie», с целью персонализации сервисов и повышения удобства пользования веб-сайтом. «Cookie» представляют собой небольшие файлы, содержащие информацию о предыдущих посещениях веб-сайта. Если вы не хотите использовать файлы «cookie», измените настройки браузера.