From 5f96f719c1dcbc613b36d0be247621a8720c8c6d Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Fri, 15 May 2026 14:13:22 +0200 Subject: [PATCH] =?UTF-8?q?F=C3=BCge=20Hinweise=20zur=20Verwendung=20exter?= =?UTF-8?q?ner=20Authenticatoren=20in=20Firefox=20hinzu=20und=20passe=20di?= =?UTF-8?q?e=20Registrierung=20von=20Passkeys=20an.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/mitgliederbereich/profil.vue | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pages/mitgliederbereich/profil.vue b/pages/mitgliederbereich/profil.vue index 75b6a6a..ad2d72c 100644 --- a/pages/mitgliederbereich/profil.vue +++ b/pages/mitgliederbereich/profil.vue @@ -205,6 +205,9 @@

Passkeys erlauben eine Anmeldung ohne Passwort. Je nach Gerät erfolgt die Einrichtung lokal oder über Smartphone/USB-Sicherheitsschlüssel.

+

+ Hinweis: Unter Firefox wird für maximale Kompatibilität ein externer Authenticator (Smartphone oder USB-Sicherheitsschlüssel) bevorzugt. +

{ const name = window.prompt('Name für den Passkey (z.B. "iPhone", "Laptop"):', 'Passkey') || 'Passkey' const mod = await import('@simplewebauthn/browser') - // localDevice nur setzen, wenn das Gerät wirklich einen Platform-Authenticator hat. + // Firefox auf Linux: externen Authenticator (USB/Smartphone) bevorzugen. + // Chromium: localDevice nur setzen, wenn das Gerät wirklich einen Platform-Authenticator hat. const firefox = isFirefoxBrowser() const platformAvailable = await hasPlatformAuthenticator() - const registrationOptionsRequest = (!firefox && platformAvailable) - ? { method: 'POST', body: { preferredAuthenticatorType: 'localDevice' } } + const preferredAuthenticatorType = firefox + ? 'securityKey' + : (platformAvailable ? 'localDevice' : undefined) + const registrationOptionsRequest = preferredAuthenticatorType + ? { method: 'POST', body: { preferredAuthenticatorType } } : { method: 'POST' } const res = await $fetch('/api/auth/passkeys/registration-options', registrationOptionsRequest)