Обзор

Что делает Paspo ID Android SDK и что для него требуется.

Paspo ID SDK добавляет «Войти через Paspo» в ваше Android-приложение. Пользователи входят через свой аккаунт Paspo ID в пару касаний, а ваш сервер получает их подтверждённые данные профиля — телефон, e-mail или национальное удостоверение — без необходимости самим создавать, проверять и хранить эти учётные данные.

Исходный код: github.com/paspoid/android

Обзор

Интеграция сводится к одному вызову authenticate(scope, nonce), который возвращает одноразовый код авторизации. Ваше приложение передаёт этот код на свой сервер, а тот обменивает его у Paspo ID на данные пользователя. Со стороны пользователя поток выглядит так: нажатие «Войти через Paspo ID», подтверждение на экране согласия Paspo ID и возврат в приложение.

Весь обмен между приложением и Paspo ID защищён end-to-end шифрованием (ECDH P-256 + AES-256-GCM, эфемерные ключи хранятся только в памяти) и выполняется SDK; криптографические операции с вашей стороны не требуются.

Две обязанности остаются на вашем сервере и не могут быть перенесены на клиент, поскольку являются основой безопасности потока: генерация nonce и обмен кода авторизации на данные пользователя.

Быстрее всего интегрировать Paspo ID через готовую кнопку. Для полного контроля над внешним видом используйте headless API.

Требования

minSdk23 (Android 6.0)
compileSdk36
Kotlin2.x
Корутинытребуются; весь API состоит из suspend-функций
Устройства ниже Android 7.0

SDK интегрируется в приложения с minSdk 23, однако самому приложению Paspo ID требуется Android 7.0 (API 24). На устройствах с API 23 Paspo ID не устанавливается, поэтому authenticate возвращает NotInstalled — это штатный исход, который следует обработать. Кнопку можно скрыть заранее через checkInstallation().

Дальше