Перейти к основному содержимому

Passkey

Включение Passkey

Passkey активируется через SDK Portal. Никаких изменений в Android-интеграции не требуется — активация выполняется полностью на стороне платформы.

примечание

Passkey в настоящее время доступен только для Android. SDK для iOS не поддерживает эту функцию.

Технический контекст: Digital Asset Links (DAL)

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 и может быть обновлён только через обращение в службу поддержки.

Структура файла assetlinks.json

Файл должен включать два конкретных разрешения:

  • delegate_permission/common.handle_all_urls — для Android App Links
  • delegate_permission/common.get_login_creds — для совместного использования учётных данных между веб-сайтом и Android-приложением

…а также имя пакета и отпечаток SHA-256 клиента.

примечание

SHA-256 должен быть зарегистрирован в двух местах: в общедоступном файле assetlinks.json и в конфигурации сервера (ожидаемый origin). Зарегистрируйте отпечатки для каждой используемой конфигурации подписи — debug, release и любых product flavors — поскольку каждая из них создаёт уникальный отпечаток.

Как получить SHA-256

Можно извлечь отпечаток 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.json Unico (для регистрации или обновления отпечатков необходимо обратиться в службу поддержки)
  • Отпечаток SHA-256 приложения зарегистрирован в конфигурации сервера (ожидаемый origin)
  • Отпечатки зарегистрированы для каждой используемой конфигурации подписи (debug, release, product flavors)
Источники