Skip to content
Snippets Groups Projects
Verified Commit ed53ba41 authored by f00wl's avatar f00wl
Browse files

Refactoring 2FA settings render args

* split rendering according to TOTP setting enabled or not
* pass all args directly to rendering, remove unused infos dict
parent b789b2a9
No related branches found
No related tags found
No related merge requests found
...@@ -33,7 +33,6 @@ def password(): ...@@ -33,7 +33,6 @@ def password():
@security.authentication_required() @security.authentication_required()
def totp(): def totp():
user = flask_login.current_user user = flask_login.current_user
infos = {}
if "totp" in user.auths: if "totp" in user.auths:
key = user.auths["totp"].value key = user.auths["totp"].value
issuer = flask.current_app.config['WEBSITE_NAME'] issuer = flask.current_app.config['WEBSITE_NAME']
...@@ -44,13 +43,11 @@ def totp(): ...@@ -44,13 +43,11 @@ def totp():
buffered = BytesIO() buffered = BytesIO()
img.save(buffered, format="PNG") img.save(buffered, format="PNG")
qr = base64.b64encode(buffered.getvalue()).decode('ascii') qr = base64.b64encode(buffered.getvalue()).decode('ascii')
infos = { return flask.render_template(
"key": key, "account_totp.html",
"name": user.username, key=key, name=user.username, issuer=issuer, qr=qr
"issuer": issuer, )
"qr": qr return flask.render_template("account_totp.html")
}
return flask.render_template("account_totp.html", infos=infos)
@blueprint.route("/totp/setup", methods=["GET", "POST"]) @blueprint.route("/totp/setup", methods=["GET", "POST"])
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
{% block subtitle %}{% trans %}with Time-based One-Time Password (TOTP){% endtrans %}{% endblock %} {% block subtitle %}{% trans %}with Time-based One-Time Password (TOTP){% endtrans %}{% endblock %}
{% block content %} {% block content %}
{% if infos == {} %} {% if not key %}
<div class="col"> <div class="col">
<blockquote class="quote-warning"> <blockquote class="quote-warning">
...@@ -24,18 +24,18 @@ ...@@ -24,18 +24,18 @@
</blockquote> </blockquote>
<div class="row"> <div class="row">
<div class="col-md-6 col text-center"> <div class="col-md-6 col text-center">
<img src="data:image/png;base64,{{ infos.qr }}" class="rounded mb-4" width=250 height=250> <img src="data:image/png;base64,{{ qr }}" class="rounded mb-4" width=250 height=250>
</div> </div>
<div class="col-md-6 col"> <div class="col-md-6 col">
<ul class="list-group", style="max-width: 500px"> <ul class="list-group", style="max-width: 500px">
<li class="list-group-item d-flex justify-content-between"> <li class="list-group-item d-flex justify-content-between">
{% trans %}Secret key{% endtrans %}<code>{{ infos.key }}</code> {% trans %}Secret key{% endtrans %}<code>{{ key }}</code>
</li> </li>
<li class="list-group-item d-flex justify-content-between"> <li class="list-group-item d-flex justify-content-between">
{% trans %}Name{% endtrans %}<code>{{ infos.name }}</code> {% trans %}Name{% endtrans %}<code>{{ name }}</code>
</li> </li>
<li class="list-group-item d-flex justify-content-between"> <li class="list-group-item d-flex justify-content-between">
{% trans %}Issuer{% endtrans %}<code>{{ infos.issuer }}</code> {% trans %}Issuer{% endtrans %}<code>{{ issuer }}</code>
</li> </li>
</ul> </ul>
</div> </div>
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
{% endblock %} {% endblock %}
{% block actions %} {% block actions %}
{% if infos == {} %} {% if not key %}
<a href="{{ url_for(".totp_setup") }}" class="btn btn-info">{% trans %}Setup 2FA{% endtrans %}</a> <a href="{{ url_for(".totp_setup") }}" class="btn btn-info">{% trans %}Setup 2FA{% endtrans %}</a>
{% else %} {% else %}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment