Мобильная авторизация
Мобильная авторизация
Для бесшовного входа в мобильное приложение партнера с Tinkoff ID реализован сценарий App to App. В данном сценарии повторяются шаги, описанные в предыдущем разделе, но необходимо соблюсти следующие требования:
- В партнерской анкете вас попросят указать
mobile_redirect_uri
, который является диплинком, ведущим в ваше приложение. Для защиты от потенциальных уязвимостей необходимо использовать кастомную схему URImobile://myintegration
илиmyservice://authorized
. Обращаем внимание на начало url-адреса, которое не должно принимать вид http/https. - В сценарии App to App не используется параметр
client_secret
. Вместо него необходимо сгенерировать параметрcode_verifier
, подробно описанный ниже. Также необходимо использовать защиту Proof Key for Code Exchange (PKCE) для предотвращения последствий возможного перехвата кода. Данное значение должно быть уникальным для каждого запроса кода авторизации. - Использовать готовые средства разработки SDK для соответствующей мобильной платформы.
Концепция протокола:
- Клиент нажимает кнопку "Войти с Тинькофф" в приложении партнера
- В авторизационном запросе в дополнение к обычным параметрам обязательно передаются параметры
code_challenge
иcode_challenge_method
. Партнерское приложение генерирует параметрcode_verifier
и создает его преобразованную версиюcode_challenge
, которая получается с помощью применения преобразованияcode_challenge
=code_challenge_method(code_verifier),
гдеcode_challenge_method
является трансформирующей функцией. Почитать про хеширование параметраcode_verifier
можно здесь - Клиент аутентифицируется в мобильном приложении Тинькофф (по уже активной сессии), после чего подтверждает согласие на передачу данных
- В случае успешного входа мобильное приложение Тинькофф перенаправляет клиента в приложение партнера по адресу, указанному в
redirect_uri
, в ином случае - партнерский сервис получит ошибку. - Мобильное приложение партнера запрашивает код авторизации
- Клиент отправляет запрос обмена кода на токены, причем в добавление к стандартным параметрам обязательно передает параметр
code_verifier
, созданный и сохраненный на шаге 2 - Авторизационный сервер проверяет
code_verifier
на соответствиеcode_challenge
и возвращает токены или отвечает ошибкой
Внимание: на текущий момент авторизация для юридических лиц c Tinkoff Business ID не доступна на мобильных приложениях.
SDK
SDK - готовые реализации API Tinkoff ID для наиболее распространенных платформ. Использование SDK упрощает разработку и сокращает время на интеграцию ваших мобильных приложений.
Подробная информация выложена в соответствующие репозитории по ссылкам ниже:
Для ознакомления со стайлгайдами перейдите по ссылке.