{# This template receives different input based on state of tf-setup. In addition to form values the following are available: On GET: choices: Value of SECURITY_TWO_FACTOR_ENABLED_METHODS (with possible addition of 'delete' two_factor_required: Value of SECURITY_TWO_FACTOR_REQUIRED On successful POST: chosen_method: which 2FA method was chosen (e.g. sms, authenticator) choices: Value of SECURITY_TWO_FACTOR_ENABLED_METHODS If chosen_method == 'authenticator': authr_qrcode: the image source for the qrcode authr_key: same key as in qrcode - for possible manual entry authr_username: same username as in qrcode authr_issuer: same issuer as in qrcode #} {% extends "themes/" + sysSettings.systemTheme + "/layout.html" %} {% from "security/_macros.html" import render_field_with_errors, render_field, render_field_no_label, render_field_errors %} {% block head %} {{sysSettings.siteName}} - Configure Two-Factor Authentication {% endblock %} {% block styles %} {{ super() }} {% endblock %} {% block body %}
Two-Factor Authentication Configuration
{{ _fsdomain("Two-factor authentication adds an extra layer of security to your account.") }}
{{ _fsdomain("In addition to your email address and password, you'll need to use a code generated by your authenticator.") }}

{{ two_factor_setup_form.hidden_tag() }}
    {% for subfield in two_factor_setup_form.setup %} {% if subfield.data in choices %}
  • {{ render_field_with_errors(subfield) }}
  • {% endif %} {% endfor %}
{{ render_field_errors(two_factor_setup_form.setup) }} {{ render_field(two_factor_setup_form.submit, id="2faSelect") }}
{% if chosen_method=="authenticator" and chosen_method in choices %}
{{ _fsdomain("Open an authenticator app on your device and scan the following QRcode (or enter the code below manually) to start receiving codes:") }}
{{ _fsdomain(
{{ authr_key }}

{{ two_factor_verify_code_form.hidden_tag() }} {{ render_field_with_errors(two_factor_verify_code_form.code, class="form-control") }} {{ render_field(two_factor_verify_code_form.submit) }}
{% endif %}
{% endblock %}