diff --git a/CROSS_DEVICE_PROBLEM_ZUSAMMENFASSUNG.md b/CROSS_DEVICE_PROBLEM_ZUSAMMENFASSUNG.md index 479587d..b32f607 100644 --- a/CROSS_DEVICE_PROBLEM_ZUSAMMENFASSUNG.md +++ b/CROSS_DEVICE_PROBLEM_ZUSAMMENFASSUNG.md @@ -7,13 +7,31 @@ - POST-Requests funktionieren (Status 200) - Options werden korrekt generiert - QR-Code wird angezeigt (Desktop-Browser) -- Website öffnet sich auf dem Smartphone nach QR-Code-Scan +- QR-Code enthält FIDO-URI (Format: `FIDO:/...`) ❌ **Was nicht funktioniert:** - Verbindung vom Smartphone zum Server wird nicht hergestellt - "Verbindung mit einem anderen Gerät wird hergestellt" bleibt hängen - Keine Requests vom Smartphone im Server-Log -- Warnung: "startRegistration() was not called correctly" +- Smartphone öffnet keine Website nach QR-Code-Scan + +## Wichtige Erkenntnis: Tunnel-Server + +**FIDO Cross-Device verwendet Tunnel-Server:** +- `cable.ua5v.com` (Google) +- `cable.auth.com` (Apple) + +**Wie funktioniert es:** +1. Desktop-Browser generiert QR-Code mit öffentlichem Schlüssel (FIDO-URI) +2. Smartphone scannt QR-Code +3. **Smartphone verbindet sich über Tunnel-Server mit Desktop-Browser** (nicht direkt mit dem Server!) +4. Desktop-Browser leitet Credential-Response an den Server weiter + +**Voraussetzungen:** +- ✅ Beide Geräte müssen **Internetverbindung** haben +- ✅ Tunnel-Server müssen erreichbar sein (Firewall/Netzwerk: cable.ua5v.com, cable.auth.com) +- ⚠️ Bluetooth kann für physische Nähe-Bestätigung verwendet werden (abhängig vom Browser/Gerät) +- ⚠️ Einige Browser/Implementierungen erfordern Bluetooth für Cross-Device ## Mögliche Ursachen @@ -41,13 +59,15 @@ - Welcher Browser wird auf dem Smartphone verwendet? - Chrome/Edge sollten am besten funktionieren -### 4. Netzwerk/Firewall -**Problem:** Das Smartphone kann die Server-Origin nicht erreichen (obwohl die Website funktioniert). +### 4. Tunnel-Server / Netzwerk/Firewall +**Problem:** Das Smartphone kann die Tunnel-Server nicht erreichen oder Bluetooth ist nicht aktiviert. **Prüfung:** +- Ist Bluetooth auf beiden Geräten aktiviert? ⚠️ **WICHTIG für Cross-Device!** +- Können Tunnel-Server erreicht werden? (cable.ua5v.com, cable.auth.com) +- Sind die Geräte in physischer Nähe? (Bluetooth-Reichweite) +- Gibt es Firewall-Blockierungen für Tunnel-Server? - Kann das Smartphone die Website direkt öffnen? ✅ (bereits bestätigt) -- Kommen OPTIONS-Requests vom Smartphone an? (Test-Seite zeigt: ✅) -- Kommen POST-Requests vom Smartphone an? (Test-Seite zeigt: ✅) ### 5. Options-Struktur **Problem:** Die Warnung "startRegistration() was not called correctly" deutet auf ein Problem mit der Options-Struktur hin. diff --git a/pages/registrieren.vue b/pages/registrieren.vue index 38bdb79..34c02d8 100644 --- a/pages/registrieren.vue +++ b/pages/registrieren.vue @@ -187,16 +187,60 @@
Origin: {{ typeof window !== 'undefined' ? window.location.origin : 'N/A (SSR)' }}
+ +
+
🔐 FIDO Cross-Device Info:
+
+
QR-Code-Format: FIDO-URI (enthält öffentlichen Schlüssel + Secret)
+
Hinweis: Der QR-Code enthält einen FIDO-URI, der vom Smartphone gescannt werden muss.
+ +
+ Wie funktioniert Cross-Device? +
    +
  1. Desktop-Browser generiert QR-Code mit öffentlichem Schlüssel (FIDO-URI)
  2. +
  3. Desktop-Browser registriert sich beim Tunnel-Server (z.B. cable.ua5v.com)
  4. +
  5. Smartphone scannt QR-Code
  6. +
  7. Smartphone verbindet sich über Tunnel-Server mit Desktop-Browser
  8. +
  9. Desktop-Browser leitet Credential-Response an den Server weiter
  10. +
+
+ Hinweis: Die Verbindung läuft über den Tunnel-Server, nicht direkt zwischen den Geräten. + Bluetooth wird optional für physische Nähe-Bestätigung verwendet (abhängig vom Browser/Gerät). +
+
+ +
+ Voraussetzungen: +
    +
  • ✅ Beide Geräte müssen Internetverbindung haben
  • +
  • ✅ Tunnel-Server müssen erreichbar sein (cable.ua5v.com, cable.auth.com)
  • +
  • ⚠️ Bluetooth kann für physische Nähe-Bestätigung verwendet werden (abhängig vom Browser/Gerät)
  • +
  • ⚠️ Einige Browser/Implementierungen erfordern Bluetooth für Cross-Device
  • +
+
+ +
+ Problem: Wenn das Smartphone den QR-Code scannt, aber keine Verbindung herstellt: +
    +
  • Prüfen Sie, ob beide Geräte Internetverbindung haben
  • +
  • Prüfen Sie, ob Tunnel-Server erreichbar sind (Firewall/Netzwerk: cable.ua5v.com, cable.auth.com)
  • +
  • Prüfen Sie, ob Bluetooth aktiviert ist (kann je nach Browser/Gerät erforderlich sein)
  • +
  • Versuchen Sie die alternative Smartphone-URL unten (umgeht Tunnel-Server)
  • +
+
+
+
+
-
📱 Smartphone-URL (statt QR-Code scannen):
+
📱 Alternative: Smartphone-URL (manuell öffnen):
{{ debugSmartphoneUrl }}
- Anleitung: Öffnen Sie diese URL auf Ihrem Smartphone, um die Passkey-Registrierung durchzuführen. + Anleitung: Falls der QR-Code nicht funktioniert, öffnen Sie diese URL manuell auf Ihrem Smartphone.