Codepurple Logo Codepurple Logo Codepurple Logo
  • Services
  • Blog
  • About us
  • Contact
  • de
  • /

  • en
  • Language:

  • de
  • /

  • en

2/4 Passkeys: Integration von Passkeys in die Webapp (für Software-Entwickler)

Only in German available.

Published on: Dec. 7, 2023
Author: Thomas Federer

Die Integration von Passkeys in die eigene Webapplikation ist nicht sonderlich kompliziert. Es existieren bereits eine Vielzahl an Libraries für die verschiedensten Frameworks und Systeme. Es gilt jedoch einige Punkte zu beachten.

Passkeys sind neu und wohl vielen noch nicht begegnet. In unserer vierteiligen Blog-Serie schauen wir uns Passkeys genauer an:

  • Teil 1: Was sind Passkeys
  • Teil 2: Integration von Passkeys in Webapps (für Entwickler)
  • Teil 3: Sicherheit von Passkeys
  • Teil 4: Herausforderungen bei Passkeys
Passkey Teil 2/4

Login-Flow: Backend – Browser – Authenticator

Wir schauen uns den Login-Prozess mit Passkeys an. Dabei gehen wir davon aus, dass der Benutzer bereits einen Passkey für die Applikation erstellt hat.

Involvierte Komponenten:

  • Backend
  • Browser
  • Authenticator (in Browser integriert)
Passkey Login-Flow

Schritt 1: Backend

Das Backend generiert Passkey-Optionen und sendet diese an den Browser. In den Optionen ist eine ID enthalten, damit der Authenticator weiss, um welches System es sich handelt. Weiter kann man zum Beispiel angeben, ob der Authenticator die Benutzer-Verifizierung durchführen muss oder nicht. Es wird auch ein Challenge generiert, welche später verwendet wird, um den Passkey-Response zu validieren.

Schritt 2: Browser

Der Benutzer startet den Passkey-Flow. Der Browser startet hierfür mit den Optionen aus Schritt 1 den Authenticator.

Schritt 3: Authenticator

Authenticator präsentiert dem Benutzer die möglichen Accounts (anhand der vom Backend generierten Optionen) und validiert die biometrischen Eigenschaften. Bei diesem Schritt muss der Entwickler nichts unternehmen.

Schritt 4: Browser

Nach erfolgreicher Authentifizierung durch den Authenticator, übergibt der Authenticator das Resultat an den Browser, welcher den Response ans Backend zurücksendet.

Schritt 5: Backend

Verifiziert die empfangen Daten auf: Origin, Challenge, ID, gewünschten Features (biometrische Identifikation), dies mit dem gespeicherten Public-Key, welcher anhand der vom Browser gesendeten Credential-ID gesucht werden kann. (Kann auch an FIDO2-System weitergeben werden, sollte ein spezieller FIDO2-Server verwendet werden.)

Schritt 6: Backend

Können die Response-Daten erfolgreich verifiziert werden, erstellt das Backend eine Session für den Benutzer.

Schritt 7: Browser

Leitet den Benutzer auf den internen Bereich der Webapplikation um.

Die Implementation von Passkeys ist unkompliziert. Der Registration-Flow für das Erstellen eines Passkeys ist sehr ähnlich zum Login-Flow.

Zu beachten:

  • Der Browser muss Passkeys unterstützen
  • Handling von Browsern, welche Passkeys noch nicht unterstützen
  • Passkeys funktionieren nur im SSL-Kontext (bei der Entwicklung beachten)
  • Wird ein FIDO2-Server verwendet, erhöht sich die Komplexität, da ein weiteres System involviert ist.

Contact us without obligation:

Haben Sie Fragen zur Implementation und Sicherheit von Passkeys?

More blog posts

You may be interested in the following blog posts:

  • Web-Application-Firewall
  • Directory listing auf Webserver ist gefährlich
  • Interessante Fakten zu Ransomware Teil 2/4

A password with 8 characters with numbers, upper and lower case letters and symbols can be cracked in under one hour.

Source: Hive Systems

Hello

X

Haben Sie Fragen zur Implementation und Sicherheit von Passkeys?

Contact us without obligation:

Speech bubble

Do you have any questions or would you like an appointment?

Kathrin Müller is looking forward to hearing from you and will be happy to organize a meeting according to your needs.

Contact

nanio GmbH (Codepurple)
Moosweg 24
5606 Dintikon

+41 79 823 45 30
rhino@codepurple.ch

Follow us

Linekdin

Imprint| Privacy| © Codepurple 2025. All rights reserved