2fa_secret.html.twig 1.3 KB

12345678910111213141516171819202122232425262728
  1. {% extends "forms/field.html.twig" %}
  2. {% block input %}
  3. <div class="form-input-wrapper twofa-wrapper">
  4. {% try %}
  5. {% set user = grav.user %}
  6. {% set secret = user.twofa_secret ?: grav.login.twoFactorAuth.createSecret() %}
  7. {% set image = grav.login.twoFactorAuth.getQrImageData(user.username, secret) %}
  8. <img style="border: 1px solid #ddd" data-2fa-image src="{{ image }}" />
  9. <div>
  10. <span>{{ 'PLUGIN_LOGIN.2FA_SECRET'|tu }}: </span><span class="twofa-secret-code" data-2fa-secret>{{ secret|regex_replace('/(\\w{4})/', '\\1 ') }}</span>
  11. </div>
  12. {% if admin %}
  13. <div class="danger twofa-wrapper">
  14. <button data-hint="{{ 'PLUGIN_LOGIN.2FA_REGEN_HINT'|tu }}" class="button button-small hint--bottom" data-2fa-regenerate><i class="fa fa-fw fa-refresh"></i> {{ 'PLUGIN_LOGIN.2FA_REGENERATE'|t }}</button>
  15. </div>
  16. {% endif %}
  17. <input type="text" class="no-form" style="display:none;" name="{{ (scope ~ field.name)|fieldName }}" data-2fa-value value="{{ secret }}" />
  18. {% catch %}
  19. <div class="notice error">
  20. <p>{{ e.message }}</p>
  21. </div>
  22. {% endcatch %}
  23. </div>
  24. {% endblock %}