Ich habe kürzlich MFA für alle Benutzer in meinem Forum durchgesetzt und mir wurde gesagt, dass viele Benutzer den Thread mit Ratschlägen zur Nutzung von MFA nicht sehen können (viele Benutzer sind nicht technisch versiert).
Während der Artikel für anonyme Benutzer zugänglich ist, können angemeldete Benutzer, die noch kein MFA eingerichtet haben, nichts von der Seite sehen. Sie bleiben in den Sicherheitseinstellungen des Benutzers mit folgender Meldung stecken:
Obwohl ich persönlich erwarte, dass ein Benutzer damit zurechtkommt, habe ich Benutzern, die keine Authenticator-Apps nutzen, sowie datenschutzbesorgten Benutzern erklärt, wie sie MFA „auf eine privatsphärenfreundlichere Weise" nutzen können.
Schont mich bitte mit Predigten, ich weiß das schon.
Es wäre schön, wenn ich in die Durchsetzungsmitteilung Informationen einbetten könnte, die Benutzern besser helfen – etwa einen empfohlenen Passwortmanager oder eine Authenticator-App zu nennen oder Benutzer darauf hinzuweisen, dass die Zeit auf dem Gerät mit dem Authenticator korrekt eingestellt sein muss. Andernfalls werden viele Benutzer, die leider unwissend sind, eine schlechte Erfahrung machen und noch mehr Widerstand leisten, als sie es ohnehin schon tun.
Als Nebensatz: Passkeys sind ebenfalls MFA; das sollte behoben werden.
Das Bearbeiten des Seitentexts wie oben erwähnt ist der einfachste Weg, um einige Anweisungen bereitzustellen, aber in diesem Kontext sind Sie auf reinen Text beschränkt.
Wenn Sie etwas HTML (Links, Bilder usw.) hinzufügen möchten, können Sie eine neue Theme-Komponente im Verwaltungsbereich „Themes & Komponenten“ erstellen.
Unter der Registerkarte „Komponenten“ (admin/config/customize/components) können Sie auf „Installieren“ und dann auf „Neu erstellen“ klicken, einen offensichtlichen Namen vergeben … und sobald Ihre Komponente erstellt ist, auf „Code bearbeiten“ klicken.
Von dort aus wechseln Sie zur Registerkarte JS und können etwas wie Folgendes hinzufügen:
import { apiInitializer } from "discourse/lib/api";
const CustomMessage = <template>
<div class="custom-2fa-message">
Ihr benutzerdefinierter Inhalt hier über dem bestehenden Inhalt.
<a href="#">Beispiel-Link</a>
</div>
</template>;
export default apiInitializer("1.0", (api) => {
api.renderBeforeWrapperOutlet("user-second-factor-wrapper", CustomMessage);
});
Aus der Abteilung „Nicht das, wonach Sie gefragt haben": Vielleicht geben Sie den Nutzern eine Woche oder einen Monat Zeit, um die Zwei-Faktor-Authentifizierung zu aktivieren, und mahnen sie, bis sie es irgendwie geschafft haben. Ja, current_user enthält ein Attribut second_factor_enabled, sodass Sie für diejenigen, die es noch nicht geschafft haben, ein großes Banner mit dem Text „DAS ENDE IST NAHE" anzeigen können, das mit einem Link zu den Anweisungen versehen ist.