Passkey
Passkey активируется через SDK Portal. Никаких изменений в Android-интеграции не требуется — активация выполняется полностью на стороне платформы.
Passkey в настоящее время доступен только для Android. SDK для iOS не поддерживает эту функцию.
Passkey на Android использует протокол Digital Asset Links для установления проверяемой и безопасной связи между нативным приложением клиента и веб-доменом Unico. Эта связь является обязательной по дизайну операционной системы Android для аутентификации с помощью passkey в мобильных приложениях Google.
Перед г енерацией пары ключей для passkey Android-аутентификатор проверяет Relying Party ID (RP ID), присутствующий в ответе сервера, по отношению к доменному имени, указанному в файле Digital Asset Links. Без успешной проверки Passkey просто не будет работать.
Что такое SHA-256 и почему это необходимо?
Отпечаток SHA-256 — это уникальный хэш, сгенерированный из сертификата подписи приложения, используемый для подтверждения подлинности и целостности приложения.
Этот сертификат соответствует ключу, используемому для подписи APK/AAB перед распространением в Google Play Store. Необходимо зарегистрировать этот отпечаток в файле assetlinks.json, размещённом Unico по пути /.well-known/assetlinks.json. Этот файл полностью управляется Unico и может быть обновлён только через обращение в службу поддержки.
Файл должен включать два конкретных разрешения:
delegate_permission/common.handle_all_urls— для Android App Linksdelegate_permission/common.get_login_creds— для совместного использования учётных данных между веб-сайтом и Android-приложением
…а также имя пакета и отпечаток SHA-256 клиента.
SHA-256 должен быть зарегистрирован в двух местах: в общедоступном файле assetlinks.json и в конфигурации сервера (ожидаемый origin). Зарегистрируйте отпечатки для каждой используемой конфигурации подписи — debug, release и любых product flavors — поскольку каждая из них создаёт уникальный отпечаток.
Можно извлечь отпечаток SHA-256 с помощью инструмента keytool из Java Development Kit (JDK), или найти его непосредственно в Google Play Console в разделе App Signing в пункте Setup > App integrity.
keytool -list -v -keystore <your-keystore.jks> -alias <key-alias>
Прежде чем любая операция с passkey сможет быть выполнена, необходимо выполнить следующие условия:
- Имя пакета приложения и отпечаток SHA-256 зарегистрированы в файле
assetlinks.jsonUnico (для регистрации или обновления отпечатков необходимо обратиться в службу поддержки) - Отпечаток SHA-256 приложения зарегистрирован в конфигурации сервера (ожидаемый origin)
- Отпечатки зарегистрированы для каждой используемой конфигурации подписи (debug, release, product flavors)
- Google — Руководство разработчика по Passkeys
- Файл Digital Asset Links (блог Halodoc)
- Подлинность и целостность приложения (документация LoginID)
- Подготовка файла assetlinks.json (Ping Identity)
- Предварительные требования Android Credential Manager
- Подписание приложения — Android Studio
- Реализация Passkeys в Android: полное руководство (Droidcon)