mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
Cleanup
This commit is contained in:
@@ -7,8 +7,6 @@ from rest_framework.authtoken.models import Token
|
||||
from rest_framework.decorators import action
|
||||
from rest_framework.exceptions import PermissionDenied
|
||||
|
||||
# from rest_framework_simplejwt.tokens import RefreshToken
|
||||
|
||||
from modoboa.admin.api.v1 import serializers as admin_v1_serializers
|
||||
from modoboa.core.api.v1 import serializers as core_v1_serializers
|
||||
from modoboa.core.api.v1 import viewsets as core_v1_viewsets
|
||||
@@ -81,21 +79,6 @@ class AccountViewSet(core_v1_viewsets.AccountViewSet):
|
||||
serializer = serializers.UserAPITokenSerializer({"token": str(token)})
|
||||
return response.Response(serializer.data, status=status)
|
||||
|
||||
# @action(methods=["post"], detail=False, url_path="tfa/verify")
|
||||
# def tfa_verify_code(self, request):
|
||||
# """Verify given code validity."""
|
||||
# serializer = serializers.VerifyTFACodeSerializer(
|
||||
# data=request.data, context={"user": request.user}
|
||||
# )
|
||||
# serializer.is_valid(raise_exception=True)
|
||||
# refresh = RefreshToken.for_user(request.user)
|
||||
# refresh[constants.TFA_DEVICE_TOKEN_KEY] = serializer.validated_data[
|
||||
# "code"
|
||||
# ].persistent_id
|
||||
# return response.Response(
|
||||
# {"refresh": str(refresh), "access": str(refresh.access_token)}
|
||||
# )
|
||||
|
||||
@action(methods=["get"], detail=False, url_path="tfa/setup/key")
|
||||
def tfa_setup_get_key(self, request):
|
||||
"""Get a key and url to finalize the setup process."""
|
||||
|
||||
@@ -112,8 +112,6 @@ MIDDLEWARE = (
|
||||
'django.middleware.common.CommonMiddleware',
|
||||
'django.middleware.csrf.CsrfViewMiddleware',
|
||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||
'django_otp.middleware.OTPMiddleware',
|
||||
'modoboa.core.middleware.TwoFAMiddleware',
|
||||
'django.contrib.messages.middleware.MessageMiddleware',
|
||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||
'modoboa.core.middleware.LocalConfigMiddleware',
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
"""Core middlewares."""
|
||||
|
||||
from django import http
|
||||
from django.urls import reverse
|
||||
from django.utils.deprecation import MiddlewareMixin
|
||||
|
||||
from . import models
|
||||
@@ -13,27 +11,3 @@ class LocalConfigMiddleware(MiddlewareMixin):
|
||||
def process_request(self, request):
|
||||
"""Inject LocalConfig instance to request."""
|
||||
request.localconfig = models.LocalConfig.objects.first()
|
||||
|
||||
|
||||
class TwoFAMiddleware:
|
||||
"""Custom 2FA middleware to enforce verification if user has TFA enabled.
|
||||
Also verify the user if it successfully use a webautn token."""
|
||||
|
||||
def __init__(self, get_response=None):
|
||||
self.get_response = get_response
|
||||
|
||||
def __call__(self, request):
|
||||
user = getattr(request, "user", None)
|
||||
redirect_url = reverse("core:2fa_verify")
|
||||
url_exceptions = (redirect_url, "/jsi18n/")
|
||||
condition = (
|
||||
user
|
||||
and not user.is_anonymous
|
||||
and user.tfa_enabled
|
||||
and not request.path.startswith("/api/")
|
||||
and request.path not in url_exceptions
|
||||
and not user.is_verified()
|
||||
)
|
||||
if condition:
|
||||
return http.HttpResponseRedirect(reverse("core:2fa_verify"))
|
||||
return self.get_response(request)
|
||||
|
||||
@@ -122,8 +122,6 @@ MIDDLEWARE = (
|
||||
"django.middleware.common.CommonMiddleware",
|
||||
"django.middleware.csrf.CsrfViewMiddleware",
|
||||
"django.contrib.auth.middleware.AuthenticationMiddleware",
|
||||
# "django_otp.middleware.OTPMiddleware",
|
||||
# "modoboa.core.middleware.TwoFAMiddleware",
|
||||
"django.contrib.messages.middleware.MessageMiddleware",
|
||||
"django.middleware.clickjacking.XFrameOptionsMiddleware",
|
||||
"modoboa.core.middleware.LocalConfigMiddleware",
|
||||
|
||||
Reference in New Issue
Block a user