Ссылочная авторизация
Ссылочная авторизация помогает в организации бесшовного перехода из мобильных приложений T‑Банка в ваше приложение с сохранением авторизации — например, Долями или разделов Выгода и Шоппинг.
Postman-коллекция авторизационных запросовПринцип работы
Авторизация
Пользователь нажимает Купить на странице оффера партнера в приложении Т-Банка.
Бэкенд приложения Т-Банка генерирует авторизационный токен и отправляет запрос. Вид запроса:
https://partner?auth_token=xxxx
Партнерское приложение генерирует уникальный случайный параметр
state
, сохраняет на своей стороне в браузере и связывает его с браузером пользователя для защиты от CSRF-атак.Приложение партнера инициирует авторизацию через вызов метода GET https://id.tbank.ru/auth/authorize на фронтенд со следующими параметрами:
client_id
— идентификатор, который получен на почту после подписания договора.redirect_uri
— адрес страницы, на которую пользователь будет перенаправлен после завершения авторизации видаhttps://myintegration.ru/auth/complete
.auth_token
— токен, полученный на предыдущем шаге.state
— параметр, который сгенерировал сервис партнера.response_type
— code.
На
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.
Приложение партнера сверяет параметр
state
из предыдущего шага со сгенерированным в пункте 3. Если сверка прошла успешно, приложение сохраняет значение параметраcode
для дальнейшего обмена наaccess_token
.Приложение партнера получает
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.
- Приложение партнера получает ответ.
- access_token: токен для обращения к T-API для получения информации о пользователе;
- token_type: тип авторизации по
access_token
; - expires_in: время жизни
access_token
; - id_token: технический параметр T‑ID.
Персональные данные
- Приложение партнера обращается к T‑API для получения персональных данных пользователя. Список доступных методов T‑API.
- Персональные данные пользователя передаются для заполнения учетной записи в приложении партнера и завершения авторизации.
- Приложение партнера перенаправляет пользователя согласно бизнес-логике. Если вы обнаружили схожесть новых учетных данных с существующими, вы можете объединить учетные записи.
Проверить доступы
Пункт опциональный.
После получения 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.