Skip to main content

Ссылочная авторизация


Ссылочная авторизация помогает в организации бесшовного перехода из мобильных приложений TБанка в ваше приложение с сохранением авторизации — например, Долями или разделов Выгода и Шоппинг.

Postman-коллекция авторизационных запросов

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

Авторизация

  1. Пользователь нажимает Купить на странице оффера партнера в приложении Т-Банка.

  2. Бэкенд приложения Т-Банка генерирует авторизационный токен и отправляет запрос. Вид запроса:

    https://partner?auth_token=xxxx
  3. Партнерское приложение генерирует уникальный случайный параметр state, сохраняет на своей стороне в браузере и связывает его с браузером пользователя для защиты от CSRF-атак.

  4. Приложение партнера инициирует авторизацию через вызов метода GET https://id.tbank.ru/auth/authorize на фронтенд со следующими параметрами:

    • client_id — идентификатор, который получен на почту после подписания договора.
    • redirect_uri — адрес страницы, на которую пользователь будет перенаправлен после завершения авторизации вида https://myintegration.ru/auth/complete.
    • auth_token — токен, полученный на предыдущем шаге.
    • state — параметр, который сгенерировал сервис партнера.
    • response_type — code.

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

    https://myintegration.ru/auth/complete?state=ABCxyz&code=c.1a2b3c4d5e&session_state=hXXXXXXY3kgs3nx0H3RTj3JzCSrdaqaDhU6lS8XXXXX.i4kl6dsEB1SQogzq0Nj0

    Значения параметров:

    • state — параметр, который сгенерировал сервис партнера на шаге 3;
    • code — параметр, нужный для получения Access Token на следующем шаге;
    • session_state — технический параметр T‑ID.
  2. Приложение партнера сверяет параметр state из предыдущего шага со сгенерированным в пункте 3. Если сверка прошла успешно, приложение сохраняет значение параметра code для дальнейшего обмена на access_token.

  3. Приложение партнера получает 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 — код из пункта 6.
  1. Приложение партнера получает ответ.
  • access_token: токен для обращения к T-API для получения информации о пользователе;
  • token_type: тип авторизации по access_token;
  • expires_in: время жизни access_token;
  • id_token: технический параметр T‑ID.

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

  1. Приложение партнера обращается к TAPI для получения персональных данных пользователя. Список доступных методов TAPI.
  2. Персональные данные пользователя передаются для заполнения учетной записи в приложении партнера и завершения авторизации.
  3. Приложение партнера перенаправляет пользователя согласно бизнес-логике. Если вы обнаружили схожесть новых учетных данных с существующими, вы можете объединить учетные записи.

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

Пункт опциональный.

После получения access_token (пункт 7) можно проверить, что клиент предоставил нужные доступы Т-Банку, и партнерский сервис правильно передал данные. Для этого приложение партнера использует метод POST https://id.tbank.ru/auth/introspect. Запрос должен выполняться с бэкенда.

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

Рекомендации по интеграции

  • Уберите редиректы — направляйте пользователя сразу внутри мобильной версии сайта. Работайте на целевом домене.
  • Используйте 303-редиректы вместо 302.

openapi@tbank.ru

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