Skip to main content

App2Web через WebView

Для авторизации в приложении с использованием компонента WebView в TID реализован сценарий App to Web.

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

  1. Партнер инициализирует запуск WebView через кнопку Войти с ТID.

  2. Пользователь инициирует процесс авторизации, нажимая Войти с ТID на сайте или в приложении партнера.

  3. Сервис партнера генерирует параметры code_verifier и code_challenge_method и создает их преобразованную версию code_challenge через преобразование code_challenge = code_challenge_method(code_verifier), где code_challenge_method — трансформирующая функция. Подробнее о хешировании параметра code_verifier.

    • Чтобы предотвратить последствия возможного перехвата кода, используйте защиту Proof Key for Code Exchange. Значение должно быть уникальным для каждого запроса кода авторизации.
    • Требуемая генерация — base64_url(SHA256(code_verifier)). Пример генератора.
  4. Авторизация инициируется через вызов метода GET https://id.tbank.ru/auth/authorize со следующими параметрами:

    • client_id — идентификатор, который вы получили после регистрации.
    • redirect_uri — ссылка в приложение (app link), указанная в анкете.
    • code_challenge
    • code_challenge_method
    • response_typecode
    • response_mode=query

  1. Открывается окно аутентификации id.tbank.ru для ввода номера телефона.

  2. Пользователь вводит данные для прохождения аутентификации и нажимает Продолжить, соглашаясь с передачей данных. В зависимости от настроек партнерского приложения, пользователь может отметить данные, которые он не готов предоставить. Если пользователь разрешает передачу всех данных, в следующих авторизациях это окно не открывается.

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

    https://myintegration.ru/auth/complete?code=c.1aGiAXX3Ni&session_state=hXXXXXXY3kgs3nx0H3RTj3JzCSrdaqaDhU6lS8XXXXX.i4kl6dsEB1SQogzq00
  4. Происходит переход в приложение партнера по app link с параметром code — сохраните его для дальнейшего обмена на токены.

  5. Приложение партнера получает access_token через метод POST https://id.tbank.ru/auth/token. Запрос должен выполняться с бэкенда.

  • Authorization: basic, где username и password соответствуют client-id, который вы получили на электронную почту после регистрации. Примеры составления на разных языках.
  • Content-type: application/x-www-form-urlencoded.
  • grant_type: authorization_code.
  • redirect_uri: mobile_redirect_url — тот, который был направлен в authorize.
  • code_verifier
  • code — код из пункта 8.
  1. Приложение партнера получает ответ — авторизационный сервер проверяет code_verifier на соответствие code_challenge и возвращает токены или отвечает ошибкой.
  • access_token: токен для обращения к T-API для получения информации о пользователе;
  • token_type: тип авторизации по access_token;
  • expires_in: время жизни access_token;
  • id_token: технический параметр T‑ID.

openapi@tbank.ru

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