...und da der Fehler by "Design" ist, ließe er sich auch nur im Design lösen. Oder man schafft den "Komfort" ab, dass die Daten nach dieser unsinnigen "Authentifizierung" geladen werden.
Denn MagicLinks, wie hier beschrieben, sind auch dann noch mies, wenn Sie nur einmalig und nur für einen kurzen Zeitraum gültig sind. Kopiert man bspw. einen Link direkt aus der Mail, ohne ihn selbst einmal genutzt zu haben... und veröffentlicht den dann, gibt man damit immer noch einmal seine Daten der Welt. Einmal ist in dem Fall nur unwesentlich besser als gar nicht.
Aus dem Dilemma kommt man nur mit einer Passkey-Implementierung.
Daten dürfen nur geladen werden, wenn eine gültige Authentifizierung vorliegt. Die kann - wie beschrieben - aber nicht aus einem lustigen Magiclink kommen.
Bei Passkeys kommt die Identität des Benutzers aus dem Gerät/vom Authentiocator, nicht aus einer Url.
Implementieren würde ich im Groben etwa solch einen Flow:
Passkey vorhanden:
WebAuthn Assertion
OK > Session mit Identität
Kundendaten laden
Kein Passkey auf dem aktuell genutzten Gerät
WebAuthn schlägt fehl / ist nicht vorhanden
Enrollment erforderlich, also neuen Identitätsnachweis einfordern a la Mail, OTP, Bestands-Login, ...
danach neuen Passkey zusätzlich registrieren und dem Konto hinzufügen, für die Kosmetik: Gerätenamen vergeben
weiter wie im Fall der erfolgreichen Authentifizierung
Alles andere bleibt mistig. Und Passkeys sind nix Neues...
Denn MagicLinks, wie hier beschrieben, sind auch dann noch mies, wenn Sie nur einmalig und nur für einen kurzen Zeitraum gültig sind. Kopiert man bspw. einen Link direkt aus der Mail, ohne ihn selbst einmal genutzt zu haben... und veröffentlicht den dann, gibt man damit immer noch einmal seine Daten der Welt. Einmal ist in dem Fall nur unwesentlich besser als gar nicht.
Aus dem Dilemma kommt man nur mit einer Passkey-Implementierung.
Daten dürfen nur geladen werden, wenn eine gültige Authentifizierung vorliegt. Die kann - wie beschrieben - aber nicht aus einem lustigen Magiclink kommen.
Bei Passkeys kommt die Identität des Benutzers aus dem Gerät/vom Authentiocator, nicht aus einer Url.
Implementieren würde ich im Groben etwa solch einen Flow:
Passkey vorhanden:
WebAuthn Assertion
OK > Session mit Identität
Kundendaten laden
Kein Passkey auf dem aktuell genutzten Gerät
WebAuthn schlägt fehl / ist nicht vorhanden
Enrollment erforderlich, also neuen Identitätsnachweis einfordern a la Mail, OTP, Bestands-Login, ...
danach neuen Passkey zusätzlich registrieren und dem Konto hinzufügen, für die Kosmetik: Gerätenamen vergeben
weiter wie im Fall der erfolgreichen Authentifizierung
Alles andere bleibt mistig. Und Passkeys sind nix Neues...
Zuletzt bearbeitet: