Eine kleine Unannehmlichkeit jedoch: Auf Safari/Mac ist die Web-Authentifizierung standardmäßig deaktiviert und nur für Entwickler verfügbar. Wenn sie aktiviert ist, funktioniert sie einwandfrei. Wir sollten jedoch wahrscheinlich eine Meldung oder eine Warnung anzeigen, wenn die Web-Authentifizierung nicht aktiviert ist. Aktuell zeigt die Benutzeroberfläche im Standard-Safari nichts an, dass der Registrierungsprozess nicht funktioniert (in der Konsole erscheint ein Fehler):
Richtig, aber in diesem Fall ist es ein normaler Teil der Arbeit bei Discourse, daher übernehmen wir die Kosten. Entschuldigung, falls das nicht klar war, aber hoffentlich ist es jetzt verständlich?
Herzlichen Glückwunsch zur Unterstützung von WebAuthn! Es ist interessant zu sehen, dass Sie eine eigene Lösung entwickelt haben, anstatt das webauthn-Gem zu verwenden. Falls Sie uns Feedback dazu geben möchten, würde ich mich sehr freuen, davon zu hören
Eine Anregung für das Mockup des „Anmeldeablaufs“: WebAuthn verfügt über ein offizielles Logo, das anstelle eines generischen Fingerabdruck-Bildes verwendet werden könnte. Neben dem Fingerabdruck sind auch Gesichtserkennung, Wischmuster oder eine PIN gängige Optionen zur Benutzerüberprüfung.
Vielen Dank für das Feedback, Rafe. Wir müssen also den zusätzlichen Algorithmus hier hinzufügen. Und danke auch für den Link zum offiziellen Logo! Mein Gedanke, als ich nur einen Algorithmus festgelegt habe, war, einfach die Mindestanzahl unterstützter Algorithmen hinzuzufügen, damit V1 funktioniert, da ich nicht sicher war bezüglich der Nuancen zwischen allen Algorithmen. Zudem wurde ES256 in allen Beispielen verwendet, die ich finden konnte.
Was die Entscheidung betrifft, das Gem damals nicht zu verwenden: Ich habe mich darüber ziemlich lange Gedanken gemacht und wusste, dass ich zu diesem Zeitpunkt irgendwann nach dieser Entscheidung gefragt werden würde. Ich habe certainly einen Großteil des Codes im Gem durchgearbeitet, um ein besseres Verständnis der Implementierung zu erhalten. Die Hauptgründe waren:
Ich wollte keine zusätzliche Abhängigkeit für Discourse hinzufügen. Jede Gem-Abhängigkeit fügt zusätzlichen Overhead hinzu, egal wie exzellent der Code in diesem Gem sein mag.
Ich wollte ein gutes Verständnis dafür haben, wie dieser kritische Sicherheitsbestandteil von Discourse funktioniert. Ich dachte, dass der Code im Kern von Discourse die Dinge klarer und einfacher erweiterbar machen würde, ohne eine Art „Black Box
Es ist schade, dass iPhones dafür ein Drittanbieter-Gerät benötigen. Ich hoffe, dass iOS++ dies mit der Geräteauthentifizierung und dem Secure Chip integriert hat, wie Windows, macOS und Android.
Ich bin so aufgeregt, mich jetzt schon nur durch das Ansehen von Discourse einzuloggen!!
Eigentlich bin ich ziemlich überrascht, dass die Unterstützung für integrierte Authentifizierer noch nicht da ist… aber es ist trotzdem eine aufregende Nachricht – ich werde weiterhin die Luft anhalten.
Ich habe eine mögliche UI-Inkonsistenz festgestellt, die die Anzeige der Aktivierung von 2FA für einige Benutzer auf einer gehosteten Instanz von Discourse betrifft:
Die Auflistung aller ‘Mitarbeiter’-Benutzer zeigt nicht, dass mein Konto 2FA aktiviert hat:
Die Zusammenfassungsseite des Kontos legt nahe, dass 2FA aktiviert ist, da der Button-Text ‘Zwei-Faktor-Authentifizierung verwalten’ lautet.
Bei der Zwei-Faktor-Authentifizierung wird angezeigt, dass ein Sicherheitsschlüssel aktiviert ist und der zweite Faktor deaktiviert werden könnte.
Andere Benutzer derselben Instanz, die sich für eine Token-basierte Authentifizierung (ohne Sicherheitsschlüssel) entscheiden, zeigen das Vorhängeschloss-Symbol in der Auflistung ‘alle Benutzer’.
Bitte teilen Sie mir mit, ob es sich um einen UI-Fehler handelt oder ob das Hinzufügen eines Sicherheitsschlüssels allein für 2FA auf dieser Plattform nicht ausreicht.
Ich werde mir das ansehen, aber meine beste Vermutung ist, dass es sich um einen UI-Fehler in der Benutzerliste handelt, falls der eigentliche 2FA-Bereich der Benutzeroberfläche alles korrekt anzeigt. Danke für den Bericht!
Apple ist der FIDO Alliance beigetreten (auch bekannt als Fast Identity Online), einer Organisation, der bereits Größen wie Google, Intel, Microsoft und Samsung angehören.