From 0f4561d7b749e26b97fd2ba8b26bea28f6889ec2 Mon Sep 17 00:00:00 2001 From: Julian Rother <julian@cccv.de> Date: Mon, 4 Oct 2021 01:00:17 +0200 Subject: [PATCH] Show 2FA status in admin interface --- uffd/translations/de/LC_MESSAGES/messages.mo | Bin 31872 -> 31934 bytes uffd/translations/de/LC_MESSAGES/messages.po | 92 +++++++++++-------- uffd/user/templates/user/show.html | 13 ++- 3 files changed, 65 insertions(+), 40 deletions(-) diff --git a/uffd/translations/de/LC_MESSAGES/messages.mo b/uffd/translations/de/LC_MESSAGES/messages.mo index ba3b019d4866c4a53f286272f0989265dd3ab66e..7c1c953373dc7e65bbf123a966f8c7efd0507552 100644 GIT binary patch delta 5139 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 UW|w4^ZC3ZImVhf<n08+j0OV<GHUIzs delta 5073 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 diff --git a/uffd/translations/de/LC_MESSAGES/messages.po b/uffd/translations/de/LC_MESSAGES/messages.po index 4568ca95..85347a75 100644 --- a/uffd/translations/de/LC_MESSAGES/messages.po +++ b/uffd/translations/de/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-09-15 10:56+0200\n" +"POT-Creation-Date: 2021-10-04 00:22+0200\n" "PO-Revision-Date: 2021-05-25 21:18+0200\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language: de\n" @@ -134,6 +134,7 @@ msgid "Signup" msgstr "Account-Registrierung" #: uffd/invite/templates/invite/list.html:49 +#: uffd/user/templates/user/show.html:91 msgid "Disabled" msgstr "Deaktiviert" @@ -269,8 +270,9 @@ msgstr "Enthaltene Rollen" #: uffd/rolemod/templates/rolemod/show.html:46 #: uffd/selfservice/templates/selfservice/self.html:101 #: uffd/user/templates/group/list.html:15 -#: uffd/user/templates/group/show.html:26 uffd/user/templates/user/show.html:95 -#: uffd/user/templates/user/show.html:127 +#: uffd/user/templates/group/show.html:26 +#: uffd/user/templates/user/show.html:106 +#: uffd/user/templates/user/show.html:138 msgid "Name" msgstr "Name" @@ -280,8 +282,9 @@ msgstr "Name" #: uffd/rolemod/templates/rolemod/show.html:28 #: uffd/selfservice/templates/selfservice/self.html:102 #: uffd/user/templates/group/list.html:16 -#: uffd/user/templates/group/show.html:30 uffd/user/templates/user/show.html:96 -#: uffd/user/templates/user/show.html:128 +#: uffd/user/templates/group/show.html:30 +#: uffd/user/templates/user/show.html:107 +#: uffd/user/templates/user/show.html:139 msgid "Description" msgstr "Beschreibung" @@ -381,8 +384,8 @@ msgstr "Speichern" #: uffd/mfa/templates/mfa/setup.html:117 uffd/mfa/templates/mfa/setup.html:179 #: uffd/role/templates/role/show.html:21 uffd/role/templates/role/show.html:24 #: uffd/user/templates/group/show.html:11 -#: uffd/user/templates/group/show.html:13 uffd/user/templates/user/show.html:11 -#: uffd/user/templates/user/show.html:13 +#: uffd/user/templates/group/show.html:13 uffd/user/templates/user/show.html:10 +#: uffd/user/templates/user/show.html:12 msgid "Delete" msgstr "Löschen" @@ -430,6 +433,7 @@ msgstr "Zwei-Faktor-Authentifizierung fehlgeschlagen" #: uffd/mfa/templates/mfa/auth.html:6 #: uffd/selfservice/templates/selfservice/self.html:67 +#: uffd/user/templates/user/show.html:89 msgid "Two-Factor Authentication" msgstr "Zwei-Faktor-Authentifizierung" @@ -510,6 +514,7 @@ msgstr "Zwei-Faktor-Authentifizierung zurücksetzen" #: uffd/mfa/templates/mfa/setup.html:46 #: uffd/mfa/templates/mfa/setup_recovery.html:5 +#: uffd/user/templates/user/show.html:92 msgid "Recovery Codes" msgstr "Wiederherstellungscodes" @@ -547,7 +552,7 @@ msgstr "Generiere neue Wiederherstellungscodes" msgid "You have no remaining recovery codes." msgstr "Du hast keine Wiederherstellungscodes übrig." -#: uffd/mfa/templates/mfa/setup.html:85 +#: uffd/mfa/templates/mfa/setup.html:85 uffd/user/templates/user/show.html:92 msgid "Authenticator Apps (TOTP)" msgstr "Authentifikator-Apps (TOTP)" @@ -577,7 +582,7 @@ msgstr "Registriert am" msgid "No authenticator apps registered yet" msgstr "Bisher keine Authentifikator-Apps registriert" -#: uffd/mfa/templates/mfa/setup.html:134 +#: uffd/mfa/templates/mfa/setup.html:134 uffd/user/templates/user/show.html:92 msgid "U2F and FIDO2 Devices" msgstr "U2F und FIDO2 Geräte" @@ -777,8 +782,8 @@ msgstr "" "versuchen?" #: uffd/role/views.py:48 uffd/selfservice/templates/selfservice/self.html:86 -#: uffd/user/templates/user/list.html:20 uffd/user/templates/user/show.html:21 -#: uffd/user/templates/user/show.html:90 +#: uffd/user/templates/user/list.html:20 uffd/user/templates/user/show.html:20 +#: uffd/user/templates/user/show.html:101 msgid "Roles" msgstr "Rollen" @@ -812,7 +817,8 @@ msgstr "Als Default setzen" #: uffd/role/templates/role/show.html:19 uffd/role/templates/role/show.html:21 #: uffd/selfservice/templates/selfservice/self.html:117 -#: uffd/user/templates/group/show.html:11 uffd/user/templates/user/show.html:11 +#: uffd/user/templates/group/show.html:11 uffd/user/templates/user/show.html:10 +#: uffd/user/templates/user/show.html:94 msgid "Are you sure?" msgstr "Wirklich fortfahren?" @@ -952,7 +958,7 @@ msgstr "" "die Adresse gesendet." #: uffd/selfservice/views.py:91 uffd/selfservice/views.py:100 -#: uffd/selfservice/views.py:133 uffd/selfservice/views.py:143 +#: uffd/selfservice/views.py:132 uffd/selfservice/views.py:142 msgid "Token expired, please try again." msgstr "Link abgelaufen, bitte versuche es erneut." @@ -964,15 +970,15 @@ msgstr "Password fehlt, bitte versuche es erneut." msgid "Passwords do not match, please try again." msgstr "Die Passwörter stimmen nicht überein, bitte versuche es erneut" -#: uffd/selfservice/views.py:117 +#: uffd/selfservice/views.py:116 msgid "Password ist not valid, please try again." msgstr "Ungültiges Passwort, bitte versuche es erneut" -#: uffd/selfservice/views.py:120 +#: uffd/selfservice/views.py:119 msgid "New password set" msgstr "Passwort geändert" -#: uffd/selfservice/views.py:150 +#: uffd/selfservice/views.py:148 msgid "" "This link was generated for another user. Login as the correct user to " "continue." @@ -980,20 +986,20 @@ msgstr "" "Dieser Link wurde für einen anderen Account erstellt. Melde dich mit dem " "richtigen Account an um Fortzufahren." -#: uffd/selfservice/views.py:152 +#: uffd/selfservice/views.py:150 msgid "New mail set" msgstr "E-Mail-Adresse geändert" -#: uffd/selfservice/views.py:162 +#: uffd/selfservice/views.py:160 msgid "Leaving roles is disabled" msgstr "Verlassen von Rollen ist deaktiviert" -#: uffd/selfservice/views.py:168 +#: uffd/selfservice/views.py:166 #, python-format msgid "You left role %(role_name)s" msgstr "Rolle %(role_name)s verlassen" -#: uffd/selfservice/views.py:185 uffd/selfservice/views.py:205 +#: uffd/selfservice/views.py:177 uffd/selfservice/views.py:194 #, python-format msgid "Mail to \"%(mail_address)s\" could not be sent!" msgstr "E-Mail an \"%(mail_address)s\" konnte nicht gesendet werden!" @@ -1006,7 +1012,7 @@ msgstr "Passwort vergessen" #: uffd/selfservice/templates/selfservice/self.html:21 #: uffd/session/templates/session/login.html:9 #: uffd/signup/templates/signup/start.html:14 -#: uffd/user/templates/user/list.html:18 uffd/user/templates/user/show.html:48 +#: uffd/user/templates/user/list.html:18 uffd/user/templates/user/show.html:47 msgid "Login Name" msgstr "Anmeldename" @@ -1028,7 +1034,7 @@ msgstr "" "\tDiese Berechtigungen werden erst aktiv, wenn du dies getan hast." #: uffd/selfservice/templates/selfservice/self.html:14 -#: uffd/user/templates/user/show.html:18 +#: uffd/user/templates/user/show.html:17 msgid "Profile" msgstr "Profil" @@ -1048,7 +1054,7 @@ msgstr "Änderungen sind erst nach einigen Minuten in allen Diensten sichtbar." #: uffd/selfservice/templates/selfservice/self.html:25 #: uffd/signup/templates/signup/start.html:27 -#: uffd/user/templates/user/list.html:19 uffd/user/templates/user/show.html:63 +#: uffd/user/templates/user/list.html:19 uffd/user/templates/user/show.html:62 msgid "Display Name" msgstr "Anzeigename" @@ -1070,7 +1076,7 @@ msgstr "Änderungen speichern" #: uffd/selfservice/templates/selfservice/self.html:44 #: uffd/session/templates/session/login.html:13 #: uffd/signup/templates/signup/start.html:41 -#: uffd/user/templates/user/show.html:77 +#: uffd/user/templates/user/show.html:76 msgid "Password" msgstr "Passwort" @@ -1519,7 +1525,7 @@ msgstr "CSV-Import" msgid "UID" msgstr "UID" -#: uffd/user/templates/user/list.html:34 uffd/user/templates/user/show.html:30 +#: uffd/user/templates/user/list.html:34 uffd/user/templates/user/show.html:29 msgid "service" msgstr "service" @@ -1537,7 +1543,7 @@ msgstr "" "Anzeigename oder das Password können (derzeit) nicht gesetzt werden. " "Beispiel:" -#: uffd/user/templates/user/list.html:75 uffd/user/templates/user/show.html:58 +#: uffd/user/templates/user/list.html:75 uffd/user/templates/user/show.html:57 msgid "Ignore login name blocklist" msgstr "Liste der nicht erlaubten Anmeldenamen ignorieren" @@ -1545,23 +1551,19 @@ msgstr "Liste der nicht erlaubten Anmeldenamen ignorieren" msgid "Import" msgstr "Importieren" -#: uffd/user/templates/user/show.html:10 -msgid "Reset 2FA" -msgstr "2FA zurücksetzen" - -#: uffd/user/templates/user/show.html:28 +#: uffd/user/templates/user/show.html:27 msgid "User ID" msgstr "Account ID" -#: uffd/user/templates/user/show.html:36 +#: uffd/user/templates/user/show.html:35 msgid "will be choosen" msgstr "wird automatisch bestimmt" -#: uffd/user/templates/user/show.html:43 +#: uffd/user/templates/user/show.html:42 msgid "Service User" msgstr "Service-Account" -#: uffd/user/templates/user/show.html:51 +#: uffd/user/templates/user/show.html:50 msgid "" "Only letters, numbers, dashes (\"-\") and underscores (\"_\") are " "allowed. At most 32, at least 2 characters. There is a word blocklist. " @@ -1571,7 +1573,7 @@ msgstr "" "erlaubt. Maximal 32, mindestens 2 Zeichen. Es gibt eine Liste nicht " "erlaubter Namen. Muss einmalig sein." -#: uffd/user/templates/user/show.html:66 +#: uffd/user/templates/user/show.html:65 msgid "" "If you leave this empty it will be set to the login name. At most 128, at" " least 2 characters. No character restrictions." @@ -1579,11 +1581,11 @@ msgstr "" "Wenn das Feld leer bleibt, wird der Anmeldename verwendet. Maximal 128, " "mindestens 2 Zeichen. Keine Zeichenbeschränkung." -#: uffd/user/templates/user/show.html:70 +#: uffd/user/templates/user/show.html:69 msgid "Mail" msgstr "E-Mail-Adresse" -#: uffd/user/templates/user/show.html:73 +#: uffd/user/templates/user/show.html:72 msgid "" "Do a sanity check here. A user can take over another account if both have" " the same mail address set." @@ -1592,11 +1594,23 @@ msgstr "" "anderen Account übernehmen, wenn beide die selbe E-Mail-Adresse " "verwenden." -#: uffd/user/templates/user/show.html:81 +#: uffd/user/templates/user/show.html:80 msgid "mail to set it will be sent" msgstr "Mail zum Setzen wird versendet" -#: uffd/user/templates/user/show.html:123 +#: uffd/user/templates/user/show.html:91 +msgid "Status:" +msgstr "Status:" + +#: uffd/user/templates/user/show.html:91 +msgid "Enabled" +msgstr "Aktiv" + +#: uffd/user/templates/user/show.html:94 +msgid "Reset 2FA" +msgstr "2FA zurücksetzen" + +#: uffd/user/templates/user/show.html:134 msgid "Resulting groups (only updated after save)" msgstr "Resultierende Gruppen (wird nur aktualisiert beim Speichern)" diff --git a/uffd/user/templates/user/show.html b/uffd/user/templates/user/show.html index bd5a0a65..16ceb1b2 100644 --- a/uffd/user/templates/user/show.html +++ b/uffd/user/templates/user/show.html @@ -7,7 +7,6 @@ <button type="submit" class="btn btn-primary"><i class="fa fa-save" aria-hidden="true"></i> {{_("Save")}}</button> <a href="{{ url_for("user.index") }}" class="btn btn-secondary">{{_("Cancel")}}</a> {% if user.id %} - <a href="{{ url_for("mfa.admin_disable", id=user.id) }}" class="btn btn-secondary">{{_("Reset 2FA")}}</a> <a href="{{ url_for("user.delete", id=user.id) }}" onClick='return confirm({{_("Are you sure?")|tojson}});' class="btn btn-danger"><i class="fa fa-trash" aria-hidden="true"></i> {{_("Delete")}}</a> {% else %} <a href="#" class="btn btn-danger disabled"><i class="fa fa-trash" aria-hidden="true"></i> {{_("Delete")}}</a> @@ -84,6 +83,18 @@ {{ User.PASSWORD_DESCRIPTION|safe }} </small> </div> + + {% if user.id %} + <div class="form-group col"> + <div class="mb-1">{{_("Two-Factor Authentication")}}</div> + <p> + {{ _("Status:") }} {{ _("Enabled") if user.mfa_enabled else _("Disabled") }}<br> + {{ user.mfa_recovery_codes|length }} {{ _("Recovery Codes") }}, {{ user.mfa_totp_methods|length }} {{ _("Authenticator Apps (TOTP)") }}, {{ user.mfa_webauthn_methods|length }} {{ _("U2F and FIDO2 Devices") }} + </p> + <a href="{{ url_for("mfa.admin_disable", id=user.id) }}" onClick='return confirm({{_("Are you sure?")|tojson}});' class="btn btn-secondary">{{_("Reset 2FA")}}</a> + </div> + {% endif %} + </div> <div class="tab-pane fade" id="roles" role="tabpanel" aria-labelledby="roles-tab"> <div class="form-group col"> -- GitLab