feat: 增加系统设置(安全)控制第三方认证用户是否进行MFA认证

This commit is contained in:
Michael Bai
2022-02-08 17:33:18 +08:00
committed by 老广
parent 6adeafd1d2
commit 8085db7acc
6 changed files with 63 additions and 46 deletions

View File

@@ -17,7 +17,9 @@ from .signals import post_auth_success, post_auth_failed
@receiver(user_logged_in)
def on_user_auth_login_success(sender, user, request, **kwargs):
# 开启了 MFA且没有校验过, 可以全局校验, middleware 中可以全局管理 oidc 等第三方认证的 MFA
if user.mfa_enabled and not request.session.get('auth_mfa'):
if settings.SECURITY_MFA_AUTH_ENABLED_FOR_THIRD_PARTY \
and user.mfa_enabled \
and not request.session.get('auth_mfa'):
request.session['auth_mfa_required'] = 1
# 单点登录,超过了自动退出