Zum Inhalt springen

WebAuthn Übersicht

WebAuthn ermöglicht passwortlose Authentifizierung mit Passkeys - sicher, schnell und benutzerfreundlich.

Passkeys sind moderne, sichere Alternativen zu Passwörtern. Sie basieren auf dem WebAuthn-Standard und ermöglichen Authentifizierung mit:

  • Biometrische Daten: Fingerabdruck, Face ID, Touch ID
  • Device PIN: Geräte-Entsperrcode
  • Hardware Security Keys: YubiKey, Titan Security Key, etc.

Sicher: Phishing-resistent, keine gestohlenen Passwörter
Schnell: Ein Touch oder Blick genügt
Einfach: Keine Passwörter merken
Multi-Device: Mehrere Passkeys pro User
Privat: Biometrische Daten verlassen nie das Gerät

  • Sichere Registrierung - Passkeys mit Biometrie oder Security Keys registrieren
  • Schnelle Authentifizierung - Mit einem Touch oder Blick anmelden
  • Multi-Device Support - Mehrere Passkeys pro User (Laptop, Handy, Security Key)
  • Usernameless Flow - Optionales schnelles Anmelden ohne Username
  • Credential Management - Passkeys auflisten und entfernen
  • KV Storage - Sichere Speicherung in Cloudflare KV
  • JWT Integration - Nahtlose Integration mit OAuth-Token-System
1. User → Server: Möchte Passkey registrieren
2. Server → User: Challenge (zufälliger Token)
3. User Device: Erstellt Keypair (öffentlich/privat)
4. User Device → Server: Öffentlicher Key + Signatur
5. Server: Verifiziert und speichert öffentlichen Key
1. User → Server: Möchte sich anmelden
2. Server → User: Challenge (zufälliger Token)
3. User Device: Signiert Challenge mit privatem Key
4. User Device → Server: Signatur
5. Server: Verifiziert Signatur mit öffentlichem Key
6. Server → User: JWT Token (erfolgreich angemeldet)
  1. Passkey Registrierung:

    • User meldet sich mit OAuth an
    • Fügt Passkey über /webauthn/add-passkey hinzu
    • Passkey wird in KV gespeichert
  2. Passkey Authentifizierung:

    • User wählt Passkey
    • Authentifiziert sich mit Biometrie/PIN
    • Erhält JWT Token

Passkeys werden in Cloudflare KV gespeichert:

{
"userId": "github:123456",
"credentials": [
{
"credentialId": "base64url...",
"publicKey": "base64url...",
"counter": 0,
"deviceName": "MacBook Pro Touch ID",
"createdAt": "2024-01-01T00:00:00Z"
}
]
}

WebAuthn wird von modernen Browsern unterstützt:

BrowserVersionPlatform
Chrome67+Windows, macOS, Linux, Android
Edge18+Windows, macOS
Firefox60+Windows, macOS, Linux
Safari13+macOS, iOS

Siehe Sicherheitshinweise für Details.

  1. Passkey Registrierung - Passkeys für User registrieren
  2. Passkey Authentifizierung - Mit Passkeys anmelden
  3. WebAuthn Client - Client-Library verwenden