Веб-авторизация
Принцип работы
Клиент нажимает Войти с T‑ID на сайте партнера. Партнерский сервис генерирует параметр
state
и связывает его с браузером пользователя для защиты от CSRF-атак.Авторизация инициируется вызовом метода
GET https://id.tbank.ru/auth/authorize
со следующими параметрами:- client_id — идентификатор, который вы получили после регистрации.
- redirect_uri —
https://myintegration.ru/auth/complete
. - state — параметр, который сгенерировал сервис партнера.
- response_type —
code
. - scope_parameters — необязательный параметр для T‑Business ID: JSON с ИНН и КПП компании клиента. Передается,
чтобы определить, к какой компании давать доступ. Если у компании клиента нет КПП, передайте
0
.
Если данные неизвестны, не передавайте этот параметр.
"inn" : "9999980892",
"kpp" : "999991001"
Открывается экран аутентификации в T‑ID:
- для веб-приложений — окно id.tbank.ru для ввода номера телефона;
- для мобильных приложений — экран ввода кода.
Пользователь вводит данные для прохождения аутентификации.
Открывается окно авторизации с выбором доступов.
Пользователь нажимает Продолжить, соглашаясь с передачей данных. В зависимости от настроек партнерского приложения, пользователь может отметить данные, которые он не готов предоставить. Если пользователь разрешает передачу всех данных, в следующих авторизациях это окно не открывается.
На
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 — технический параметр T‑ID.
- Ваше приложение валидирует параметр
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 — тело токена.
В описании каждого метода T‑API есть шаблон доступа — он должен быть в поле scope
полученного ответа.
С помощью полученного токена можно:
- для физических лиц — запросить данные профиля, почты и паспорта;
- для юридических лиц — создавать черновики платежных поручений компании с ИНН
9999980892
и КПП999991001
.
Персональные данные
Сервис партнера обращается к T‑API для получения персональных данных клиентов. Список доступных методов T‑API.
Персональные данные клиента передаются для заполнения учетной записи и завершения авторизации.
Сервис партнера перенаправляет клиента согласно бизнес-логике. Если вы обнаружили схожесть новых учетных данных с существующими, вы можете объединить учетные записи.