Веб-авторизация
Принцип работы
Авторизация
Клиент нажимает Войти с 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 — код из пункта 9.
- Сервис партнера получает ответ.
- access_token: токен для обращения к T-API для получения информации о пользователе;
- token_type: тип авторизации по
access_token
; - expires_in: время жизни
access_token
; - id_token: технический параметр T‑ID.
Персональные данные
Сервис партнера обращается к T‑API для получения персональных данных клиентов. Список доступных методов T‑API.
Персональные данные клиента передаются для заполнения учетной записи и завершения авторизации.
Сервис партнера перенаправляет клиента согласно бизнес-логике. Если вы обнаружили схожесть новых учетных данных с существующими, вы можете объединить учетные записи.
Проверить доступы
Пункт опциональный.
После получения токена мы рекомендуем проверить, что клиент предоставил нужные доступы, и партнерский сервис правильно
передал данные в 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
.