Passkeys (WebAuthn) als gleichwertiger Anmeldeweg neben Passwort und OIDC – passwortlos, mit
Fingerabdruck, Gesicht, PIN oder Sicherheitsschlüssel.
Aufgaben
@simplewebauthn/server und @simplewebauthn/browser
Datenmodell Passkey (mehrere je Konto)
Registrierung und Anmeldung als Endpunkte, Aufgabe („challenge“) in einem kurzlebigen Cookie
Seite Meine Passkeys mit Anlegen und Entfernen
Knopf „Mit Passkey anmelden“ auf der Anmeldeseite
Hinweis, wenn die Adresse kein HTTPS hat
Entscheidungen
Keine Liste erlaubter Schlüssel bei der Anmeldung. Der Browser bietet selbst an, was zu dieser
Seite passt. Sonst müsste die Seite vorher verraten, welche Passkeys zu einem Konto gehören – das
wäre ein Weg, Konten auszuspähen.
Fehlermeldung bei der Anmeldung bewusst unscharf („Anmeldung mit diesem Passkey nicht
möglich“). Ob es den Schlüssel gibt, geht einen Unbekannten nichts an.
Die Aufgabe liegt in einem SameSite=strict-Cookie mit fünf Minuten Gültigkeit, nicht in der
Datenbank. Sie gilt nur für diesen Browser und diesen Versuch.
rpID und origin kommen aus der öffentlichen Adresse (Einstellung, sonst APP_URL, sonst
Proxy-Kopfzeilen). Ein Passkey ist an die Domäne gebunden; steht dort die falsche Adresse, lehnt
der Browser wortlos ab.
Passwort und OIDC bleiben bestehen. Ein Passkey, der im kaputten Telefon liegt, darf niemanden
aussperren.
Grenze
Ein Passkey gilt nur für die Adresse, unter der er angelegt wurde. Beim Umzug von http://server:3000
auf https://proxledger.firma.de müssen alle Passkeys neu registriert werden – im Handbuch vermerkt.
Quelle: docs/issues/028-passkeys.md – dort wird dieses Issue gepflegt.
## Ziel
Passkeys (WebAuthn) als **gleichwertiger** Anmeldeweg neben Passwort und OIDC – passwortlos, mit
Fingerabdruck, Gesicht, PIN oder Sicherheitsschlüssel.
## Aufgaben
- [x] `@simplewebauthn/server` und `@simplewebauthn/browser`
- [x] Datenmodell `Passkey` (mehrere je Konto)
- [x] Registrierung und Anmeldung als Endpunkte, Aufgabe („challenge“) in einem kurzlebigen Cookie
- [x] Seite *Meine Passkeys* mit Anlegen und Entfernen
- [x] Knopf „Mit Passkey anmelden“ auf der Anmeldeseite
- [x] Hinweis, wenn die Adresse kein HTTPS hat
## Entscheidungen
- **Keine Liste erlaubter Schlüssel bei der Anmeldung.** Der Browser bietet selbst an, was zu dieser
Seite passt. Sonst müsste die Seite vorher verraten, welche Passkeys zu einem Konto gehören – das
wäre ein Weg, Konten auszuspähen.
- **Fehlermeldung bei der Anmeldung bewusst unscharf** („Anmeldung mit diesem Passkey nicht
möglich“). Ob es den Schlüssel gibt, geht einen Unbekannten nichts an.
- **Die Aufgabe liegt in einem `SameSite=strict`-Cookie mit fünf Minuten Gültigkeit**, nicht in der
Datenbank. Sie gilt nur für diesen Browser und diesen Versuch.
- **`rpID` und `origin` kommen aus der öffentlichen Adresse** (Einstellung, sonst `APP_URL`, sonst
Proxy-Kopfzeilen). Ein Passkey ist an die Domäne gebunden; steht dort die falsche Adresse, lehnt
der Browser wortlos ab.
- Passwort und OIDC bleiben bestehen. Ein Passkey, der im kaputten Telefon liegt, darf niemanden
aussperren.
## Grenze
Ein Passkey gilt nur für die Adresse, unter der er angelegt wurde. Beim Umzug von `http://server:3000`
auf `https://proxledger.firma.de` müssen alle Passkeys neu registriert werden – im Handbuch vermerkt.
---
Quelle: `docs/issues/028-passkeys.md` – dort wird dieses Issue gepflegt.
florian.wilde
added this to the v0.18.0 milestone 2026-09-18 22:46:39 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Ziel
Passkeys (WebAuthn) als gleichwertiger Anmeldeweg neben Passwort und OIDC – passwortlos, mit
Fingerabdruck, Gesicht, PIN oder Sicherheitsschlüssel.
Aufgaben
@simplewebauthn/serverund@simplewebauthn/browserPasskey(mehrere je Konto)Entscheidungen
Seite passt. Sonst müsste die Seite vorher verraten, welche Passkeys zu einem Konto gehören – das
wäre ein Weg, Konten auszuspähen.
möglich“). Ob es den Schlüssel gibt, geht einen Unbekannten nichts an.
SameSite=strict-Cookie mit fünf Minuten Gültigkeit, nicht in derDatenbank. Sie gilt nur für diesen Browser und diesen Versuch.
rpIDundoriginkommen aus der öffentlichen Adresse (Einstellung, sonstAPP_URL, sonstProxy-Kopfzeilen). Ein Passkey ist an die Domäne gebunden; steht dort die falsche Adresse, lehnt
der Browser wortlos ab.
aussperren.
Grenze
Ein Passkey gilt nur für die Adresse, unter der er angelegt wurde. Beim Umzug von
http://server:3000auf
https://proxledger.firma.demüssen alle Passkeys neu registriert werden – im Handbuch vermerkt.Quelle:
docs/issues/028-passkeys.md– dort wird dieses Issue gepflegt.