Überblick
Wenn Sie synchrone Passkeys verwenden, authentifizieren sich Nutzer bei einem Passkey-Anbieter.
Zum Erstellen und Authentifizieren von Passkeys verwenden Sie die WebAuthn API im Web oder die Credential Manager API für Android-Apps. Diese APIs übernehmen die Kommunikation zwischen dem Client und dem Passkey-Anbieter.
Während diese APIs von einem Client wie einer Webseite oder Android-App aufgerufen werden, müssen Sie die übrigen Funktionen auf dem Server implementieren, um Ihre Authentifizierungsanwendungsfälle abzuschließen.
Passkeys umfassen zwei Funktionen:
- Passkey-Registrierung: Verwenden Sie die WebAuthn API oder die Credential Manager API, damit Nutzer einen Passkey erstellen können. Speichert den zugehörigen öffentlichen Schlüssel auf dem Server.
- Authentifizierung mit einem Passkey Fordern Sie eine Authentifizierung vom Server an und verwenden Sie die WebAuthn API oder die Credential Manager API, damit der Nutzer diese Identitätsbestätigung mit seinem Passkey signieren kann. Überprüfen Sie die Signatur auf dem Server. Wenn die Signatur gültig ist, authentifizieren Sie den Nutzer.
Serverseitige Bibliotheken
Es ist zwar möglich, serverseitige Passkeys von Grund auf neu zu implementieren, wir empfehlen jedoch, stattdessen eine Bibliothek zu verwenden.
Ein Server, der die Erstellung und Authentifizierung von Passkeys unterstützt, wird FIDO2-Server oder kurz FIDO-Server genannt. Serverseitige Bibliotheken, die Passkeys unterstützen, werden hier als serverseitige FIDO-Bibliotheken bezeichnet.
Vorteile einer Bibliothek
Die Verwendung einer serverseitigen FIDO-Bibliothek bietet mehrere Vorteile:
- Zeit- und Entwicklungserfahrung: Die WebAuthn-Spezifikation ist komplex. Serverseitige FIDO-Bibliotheken bieten einfache APIs zur Implementierung von Passkeys. Dadurch sparen Sie Zeit und Entwicklungsressourcen.
- Pflegebarkeit: Die WebAuthn-Spezifikation kann weiterhin geändert werden. Die Verwendung der neuesten Version einer aktiv verwalteten Bibliothek trägt dazu bei, dass Ihre Implementierung auf dem neuesten Stand ist.
- Sicherheit und Compliance: Sie möchten, dass Ihre Passkey-Implementierung der WebAuthn-Spezifikation und ihren Sicherheitsanforderungen entspricht. Mit serverseitigen FIDO-Bibliotheken können Sie dafür sorgen, dass Ihre Implementierung sicher und mit der Spezifikation kompatibel bleibt. Je nach Produkt und Branche kann Ihre Implementierung auch Vorschriften unterliegen, die die Verwendung bestimmter Sicherheitsstandards für die Authentifizierung erfordern.
Wenn möglich, sollten Sie Open-Source-Projekte, auf die sich Ihr Produkt bezieht, finanziell unterstützen.
Bibliotheken
- Das GitHub-Repository awesome-webauthn enthält eine von der Community zusammengestellte Liste serverseitiger Bibliotheken. Sie finden dort Bibliotheken für JavaScript und TypeScript, Go, Python und mehr.
- Auf passkeys.dev ist eine Sammlung von Bibliotheken verfügbar, die von der W3C WebAuthn Adoption Community Group verwaltet wird.
- Die FIDO Alliance verweist auf eine Sammlung von FIDO2-Servern.