Skip to main content

App-авторизация

Бизнес-описание

App-авторизация через T-ID предоставляет пользователям возможность подтверждать свою личность и авторизовываться в мобильных приложениях партнеров.

Авторизация из мобильного приложения партнера реализуется через SDK.

SDK

SDK — это готовые решения API T‑ID для наиболее распространенных платформ. Использование SDK упрощает разработку и сокращает время на интеграцию ваших мобильных приложений.

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

App to App

Для бесшовного входа в мобильное приложение партнера с TID реализован сценарий App to App. Сценарий доступен только при использовании готового SDK для соответствующей мобильной платформы.

  • В партнерской анкете вас попросят указать mobile_redirect_uri — это ссылка, которая ведет в ваше приложение. Для защиты от потенциальных уязвимостей используйте схему URI — mobile://myintegration или myservice://authorized.

    URL-адрес не должен начинаться с http/https.

  • В сценарии App to App не используется параметр client_secret. Вместо него генерируется параметр code_verifier.
  • Чтобы предотвратить последствия возможного перехвата кода, используйте защиту Proof Key for Code Exchange. Значение должно быть уникальным для каждого запроса кода авторизации.
  1. В приложении партнера клиент нажимает Войти с TID.

  2. В запросе на авторизацию передаются обязательные параметры code_challenge и code_challenge_method.

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

  3. Мобильное приложение партнера запрашивает код авторизации.

  4. Клиент отправляет запрос обмена кода на токены — передает стандартные параметры и параметр code_verifier, созданный и сохраненный на шаге 2.

  5. Авторизационный сервер проверяет code_verifier на соответствие code_challenge и возвращает токены или отвечает ошибкой.

  6. Клиент аутентифицируется в мобильном приложении TБанка по уже активной сессии и подтверждает согласие на передачу данных.

  7. Если вход успешный, мобильное приложение ТБанка перенаправляет клиента в приложение партнера по адресу, который указан в redirect_uri. В ином случае партнерский сервис получает ошибку.

Сейчас авторизация для юридических лиц c TBusiness ID недоступна в мобильных приложениях.

App to Web с использованием компонента WebView

  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
  5. Открывается окно аутентификации id.tbank.ru для ввода номера телефона.

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

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

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

  9. Приложение партнера получает 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.
  10. Приложение партнера получает ответ — авторизационный сервер проверяет 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», измените настройки браузера.