diff --git a/uffd/views/selfservice.py b/uffd/views/selfservice.py index 7342facde360d94d2f8b8015ecc0a4d5432729cb..25d0b00ff207724cdf6b287a51c9374c4c7fc903 100644 --- a/uffd/views/selfservice.py +++ b/uffd/views/selfservice.py @@ -242,17 +242,17 @@ def send_passwordreset(user, new=False): flash(_('E-Mail to "%(mail_address)s" could not be sent!', mail_address=email.address)) @bp.route('/mfa/', methods=['GET']) -@login_required() +@login_required(selfservice_acl_check) def setup_mfa(): return render_template('selfservice/setup_mfa.html') @bp.route('/mfa/setup/disable', methods=['GET']) -@login_required() +@login_required(selfservice_acl_check) def disable_mfa(): return render_template('selfservice/disable_mfa.html') @bp.route('/mfa/setup/disable', methods=['POST']) -@login_required() +@login_required(selfservice_acl_check) @csrf_protect(blueprint=bp) def disable_mfa_confirm(): MFAMethod.query.filter_by(user=request.user).delete() @@ -262,7 +262,7 @@ def disable_mfa_confirm(): return redirect(url_for('selfservice.setup_mfa')) @bp.route('/mfa/setup/recovery', methods=['POST']) -@login_required() +@login_required(selfservice_acl_check) @csrf_protect(blueprint=bp) def setup_mfa_recovery(): for method in RecoveryCodeMethod.query.filter_by(user=request.user).all(): @@ -276,14 +276,14 @@ def setup_mfa_recovery(): return render_template('selfservice/setup_mfa_recovery.html', methods=methods) @bp.route('/mfa/setup/totp', methods=['GET']) -@login_required() +@login_required(selfservice_acl_check) def setup_mfa_totp(): method = TOTPMethod(request.user) session['mfa_totp_key'] = method.key return render_template('selfservice/setup_mfa_totp.html', method=method, name=request.values['name']) @bp.route('/mfa/setup/totp', methods=['POST']) -@login_required() +@login_required(selfservice_acl_check) @csrf_protect(blueprint=bp) def setup_mfa_totp_finish(): if not RecoveryCodeMethod.query.filter_by(user=request.user).all(): @@ -299,7 +299,7 @@ def setup_mfa_totp_finish(): return redirect(url_for('selfservice.setup_mfa_totp', name=request.values['name'])) @bp.route('/mfa/setup/totp/<int:id>/delete') -@login_required() +@login_required(selfservice_acl_check) @csrf_protect(blueprint=bp) def delete_mfa_totp(id): #pylint: disable=redefined-builtin method = TOTPMethod.query.filter_by(user=request.user, id=id).first_or_404() @@ -312,7 +312,7 @@ bp.add_app_template_global(WEBAUTHN_SUPPORTED, name='webauthn_supported') if WEBAUTHN_SUPPORTED: @bp.route('/mfa/setup/webauthn/begin', methods=['POST']) - @login_required() + @login_required(selfservice_acl_check) @csrf_protect(blueprint=bp) def setup_mfa_webauthn_begin(): if not RecoveryCodeMethod.query.filter_by(user=request.user).all(): @@ -333,7 +333,7 @@ if WEBAUTHN_SUPPORTED: return cbor.encode(registration_data) @bp.route('/mfa/setup/webauthn/complete', methods=['POST']) - @login_required() + @login_required(selfservice_acl_check) @csrf_protect(blueprint=bp) def setup_mfa_webauthn_complete(): server = get_webauthn_server() @@ -348,7 +348,7 @@ if WEBAUTHN_SUPPORTED: return cbor.encode({"status": "OK"}) @bp.route('/mfa/setup/webauthn/<int:id>/delete') -@login_required() +@login_required(selfservice_acl_check) @csrf_protect(blueprint=bp) def delete_mfa_webauthn(id): #pylint: disable=redefined-builtin method = WebauthnMethod.query.filter_by(user=request.user, id=id).first_or_404()