fix: 修复 cas/oidc 登录 MFA 产生的bug

perf: 优化更严谨
pull/7270/head
ibuler 2021-11-24 17:25:10 +08:00 committed by Jiangjie.Bai
parent e838d974c3
commit 5ace5a752e
3 changed files with 5 additions and 5 deletions

View File

@ -7,8 +7,11 @@ class MFAMiddleware:
def __call__(self, request):
response = self.get_response(request)
if request.path.find('/auth/login/otp/') > -1:
return response
white_urls = ['login/mfa', 'mfa/select', 'jsi18n/', '/static/']
for url in white_urls:
if request.path.find(url) > -1:
return response
if request.session.get('auth_mfa_required'):
return redirect('authentication:login-mfa')
return response

View File

@ -417,12 +417,10 @@ class AuthACLMixin:
self.request.session["auth_confirm"] = "1"
return
elif ticket.state_reject:
self.clean_mfa_mark()
raise errors.LoginConfirmOtherError(
ticket.id, ticket.get_state_display()
)
elif ticket.state_close:
self.clean_mfa_mark()
raise errors.LoginConfirmOtherError(
ticket.id, ticket.get_state_display()
)

View File

@ -7,7 +7,6 @@ from django.dispatch import receiver
from django_cas_ng.signals import cas_user_authenticated
from jms_oidc_rp.signals import openid_user_login_failed, openid_user_login_success
from .signals import post_auth_success, post_auth_failed