Passkey
Passkey wird über das SDK-Portal aktiviert. In der Android-Integration sind keine Änderungen erforderlich — die Aktivierung erfolgt vollständig auf Plattformseite.
Passkey ist derzeit nur für Android verfügbar. Das iOS-SDK unterstützt diese Funktion nicht.
Passkey auf Android verwendet das Digital Asset Links-Protokoll, um eine überprüfbare und sichere Verbindung zwischen der nativen Anwendung des Kunden und der Web-Domain von Unico herzustellen. Diese Verbindung ist vom Design des Android-Betriebssystems für die Authentifizierung mit Passkeys in mobilen Google-Anwendungen obligatorisch.
Bevor ein Schlüsselpaar für einen Passkey generiert wird, überprüft der Android-Authenticator die im Server-Response enthaltene Relying Party ID (RP ID) anhand des in der Digital Asset Links-Datei angegebenen Domainnamens. Ohne diese erfolgreiche Überprüfung funktioniert Passkey schlicht nicht.
Was ist SHA-256 und warum ist es notwendig?
Der SHA-256-Fingerabdruck ist ein eindeutiger Hash, der aus dem Signaturzertifikat der Anwendung generiert wird und zur Identifizierung der Authentizität und Integrität der App verwendet wird.
Dieses Zertifikat entspricht dem Schlüssel, der zum Signieren des APK/AAB vor der Verteilung im Google Play Store verwendet wird. Es ist notwendig, diesen Fingerabdruck in der assetlinks.json-Datei zu registrieren, die von Unico unter dem Pfad /.well-known/assetlinks.json gehostet wird. Diese Datei wird ausschließlich von Unico verwaltet und kann nur über ein Support-Ticket aktualisiert werden.
Die Datei muss zwei spezifische Berechtigungen enthalten:
delegate_permission/common.handle_all_urls— für Android App Linksdelegate_permission/common.get_login_creds— für die gemeinsame Nutzung von Anmeldedaten zwischen der Website und der Android-App
…zusammen mit dem Paketnamen und dem SHA-256-Fingerabdruck des Kunden.
Der SHA-256 muss an zwei Stellen registriert werden: in der öffentlichen Datei assetlinks.json und in der Serverkonfiguration (erwarteter Origin). Registrieren Sie Fingerabdrücke für jede verwendete Signierungskonfiguration — Debug, Release und alle Produktvarianten — da jede einen anderen Fingerabdruck erzeugt.
Es ist möglich, den SHA-256-Fingerabdruck mit dem keytool-Tool des Java Development Kit (JDK) zu extrahieren oder ihn direkt in der Google Play Console im Abschnitt App-Signierung unter Setup > App-Integrität zu finden.
keytool -list -v -keystore <your-keystore.jks> -alias <key-alias>
Bevor ein Passkey-Vorgang erfolgreich durchgeführt werden kann, müssen folgende Bedingungen erfüllt sein:
- Paketname und SHA-256-Fingerabdruck der App sind in der
assetlinks.json-Datei von Unico registriert (Support-Ticket einreichen, um Fingerabdrücke zu registrieren oder zu aktualisieren) - SHA-256-Fingerabdruck der App ist in der Serverkonfiguration (erwarteter Origin) registriert
- Fingerabdrücke für jede verwendete Signierungskonfiguration sind registriert (Debug, Release, Produktvarianten)
- Google — Entwicklerleitfaden für Passkeys
- Digital Asset Links-Datei (Halodoc-Blog)
- App-Authentizität und -Integrität (LoginID-Dokumentation)
- assetlinks.json-Datei vorbereiten (Ping Identity)
- Android Credential Manager-Voraussetzungen
- App signieren — Android Studio
- Passkeys in Android implementieren: ein Full-Stack-Leitfaden (Droidcon)