Skip to main content

Веб-авторизация

Схема работы:


Авторизация

  1. Клиент нажимает Войти с Тинькофф на сайте партнёра. Партнёрский сервис генерирует параметр state и связывает его с браузером пользователя для защиты от CSRF-атак.

  2. Авторизация инициируется вызовом метода GET https://id.tinkoff.ru/auth/authorize со следующими параметрами:

    • client_id — идентификатор, который вы получили после регистрации.
    • redirect_urihttps://myintegration.ru/auth/complete.
    • state — параметр, который сгенерировал сервис партнёра.
    • response_typecode.
    • scope_parameters — необязательный параметр для Tinkoff Business ID: JSON с ИНН и КПП компании клиента. Передаётся, чтобы определить, к какой компании давать доступ. Если у компании клиента нет КПП, передайте 0.

    Если данные неизвестны, не передавайте этот параметр.

"inn" : "9999980892", "kpp" : "999991001"
  1. Открывается экран аутентификации в Тинькофф:

    • для веб-приложений — окно id.tinkoff.ru для ввода номера телефона;
    • для мобильных приложений — экран ввода кода.
  2. Пользователь вводит данные для прохождения аутентификации.

  3. Открывается окно авторизации с выбором доступов.


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

  2. На 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 — технический параметр Tinkoff ID.
  1. Ваше приложение валидирует параметр state. Если валидация прошла успешно, сохраните значение параметра code, чтобы получать токены.

Токены

Чтобы получить Access Token, используйте метод POST https://id.tinkoff.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.tinkoff.ru/auth/introspect и проверьте список доступов в поле scope в ответе.

  • Authorization: basic, где username и password соответствуют client-id, которые клиент получил на электронную почту после регистрации. Примеры составления в разных языках.
  • Content-type: application/x-www-form-urlencoded.
  • token — тело токена.

В описании каждого метода Tinkoff API есть шаблон доступа — он должен быть в поле scope полученного ответа.

С помощью полученного токена можно:

  • для физических лиц — запросить данные профиля, почты и паспорта;
  • для юридических лиц — создавать черновики платёжных поручений компании с ИНН 9999980892 и КПП 999991001.

Персональные данные

  • Сервис партнёра обращается к Tinkoff API для получения персональных данных клиентов. Список доступных методов Tinkoff API.

  • Персональные данные клиента передаются для заполнения учётной записи и завершения авторизации.

  • Сервис партнёра перенаправляет клиента согласно бизнес-логике. Если вы обнаружили схожесть новых учётных данных с существующими, смотрите раздел Объединение учётных записей.

openapi@tinkoff.ru

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