mirror of https://github.com/jumpserver/jumpserver
feat: 重置 MFA 发个邮件 #754
parent
799d1e4043
commit
8ec26dea43
|
@ -16,6 +16,7 @@ from common.mixins import CommonApiMixin
|
|||
from common.utils import get_logger
|
||||
from orgs.utils import current_org
|
||||
from orgs.models import ROLE as ORG_ROLE, OrganizationMember
|
||||
from users.utils import send_reset_mfa_mail
|
||||
from .. import serializers
|
||||
from ..serializers import UserSerializer, UserRetrieveSerializer, MiniUserSerializer, InviteSerializer
|
||||
from .mixins import UserQuerysetMixin
|
||||
|
@ -201,4 +202,5 @@ class UserResetOTPApi(UserQuerysetMixin, generics.RetrieveAPIView):
|
|||
if user.mfa_enabled:
|
||||
user.reset_mfa()
|
||||
user.save()
|
||||
send_reset_mfa_mail(user)
|
||||
return Response({"msg": "success"})
|
||||
|
|
|
@ -235,6 +235,28 @@ def send_reset_ssh_key_mail(user):
|
|||
send_mail_async.delay(subject, message, recipient_list, html_message=message)
|
||||
|
||||
|
||||
def send_reset_mfa_mail(user):
|
||||
subject = _('MFA Reset')
|
||||
recipient_list = [user.email]
|
||||
message = _("""
|
||||
Hello %(name)s:
|
||||
<br>
|
||||
Your MFA has been reset by site administrator.
|
||||
Please login and reset your MFA.
|
||||
<br>
|
||||
<a href="%(login_url)s">Login direct</a>
|
||||
|
||||
<br>
|
||||
""") % {
|
||||
'name': user.name,
|
||||
'login_url': reverse('authentication:login', external=True),
|
||||
}
|
||||
if settings.DEBUG:
|
||||
logger.debug(message)
|
||||
|
||||
send_mail_async.delay(subject, message, recipient_list, html_message=message)
|
||||
|
||||
|
||||
def get_user_or_pre_auth_user(request):
|
||||
user = request.user
|
||||
if user.is_authenticated:
|
||||
|
|
Loading…
Reference in New Issue