{% extends 'administration/base.html.twig' %} {% block title %}{{ 'admin.two_factor.settings'|trans }}{% endblock %} {% block body %}

{{ 'admin.two_factor.settings'|trans }}

{{ 'admin.two_factor.intro'|trans }}

{% for label, messages in app.flashes %} {% for message in messages %}
{{ message }}
{% endfor %} {% endfor %} {% if not user.hasAdminRole() %}
{{ 'admin.two_factor.admin_only'|trans }}
{% else %}

{{ 'admin.two_factor.section_totp'|trans }}

{% if user.isTotpAuthenticationEnabled() %}
{{ 'admin.two_factor.active'|trans }}
{% elseif user.isTotpSetupPending() %}

{{ 'admin.two_factor.step_confirm'|trans }}

{% if qrDataUri %}
QR
{% endif %}
{% else %}

{{ 'admin.two_factor.inactive'|trans }}

{% endif %}

{{ 'admin.two_factor.section_passkeys'|trans }}

{{ 'admin.two_factor.passkeys_intro'|trans }}

{{ 'admin.two_factor.passkey_add'|trans }} {% set passkeys = user.webauthnKeyEntities %} {% if passkeys is not empty %}
    {% for key in passkeys %}
  • {% if key.label %}{{ key.label }}{% else %}{{ 'admin.two_factor.passkey_unnamed'|trans }}{% endif %} {{ key.createdAt|date('Y-m-d H:i') }}
  • {% endfor %}
{% else %}

{{ 'admin.two_factor.passkeys_none'|trans }}

{% endif %} {% if user.isTotpAuthenticationEnabled() and user.isWebAuthnAuthenticatorEnabled() %}

{{ 'admin.two_factor.section_preferred'|trans }}

{{ 'admin.two_factor.preferred_intro'|trans }}

{% endif %}

{{ 'admin.two_factor.section_recovery'|trans }}

{% if user.hasAnySecondFactorEnabled %} {% if user.recoveryCodesCompletedAt %}

{{ 'admin.two_factor.recovery_status_ok'|trans({'%count%': user.recoveryCodes|length}) }}

{{ 'admin.two_factor.recovery_manage'|trans }} {% elseif user.isRecoveryRegenerationRequired %}
{{ 'admin.two_factor.recovery_pending_regen'|trans }}
{{ 'admin.two_factor.recovery_open_wizard'|trans }} {% else %}
{{ 'admin.two_factor.recovery_setup_required'|trans }}
{{ 'admin.two_factor.recovery_open_wizard'|trans }} {% endif %} {% else %}

{{ 'admin.two_factor.recovery_need_method'|trans }}

{% endif %} {% endif %}
{% endblock %}