Ссылочная авторизация
Ссылочная авторизация помогает в организации бесшовного перехода из мобильных приложений 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.
- Authorization — basic, где username и password соответствуют
Приложение партнера получает ответ.
- 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.