mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-08-31 15:11:27 +00:00
fix: 修复重置mfa的bug
This commit is contained in:
@@ -28,7 +28,7 @@ from ..filters import OrgRoleUserFilterBackend, UserFilter
|
||||
logger = get_logger(__name__)
|
||||
__all__ = [
|
||||
'UserViewSet', 'UserChangePasswordApi',
|
||||
'UserUnblockPKApi', 'UserResetOTPApi',
|
||||
'UserUnblockPKApi', 'UserResetMFAApi',
|
||||
]
|
||||
|
||||
|
||||
@@ -199,7 +199,7 @@ class UserUnblockPKApi(UserQuerysetMixin, generics.UpdateAPIView):
|
||||
MFABlockUtils.unblock_user(username)
|
||||
|
||||
|
||||
class UserResetOTPApi(UserQuerysetMixin, generics.RetrieveAPIView):
|
||||
class UserResetMFAApi(UserQuerysetMixin, generics.RetrieveAPIView):
|
||||
permission_classes = (IsOrgAdmin,)
|
||||
serializer_class = serializers.ResetOTPSerializer
|
||||
|
||||
@@ -209,9 +209,10 @@ class UserResetOTPApi(UserQuerysetMixin, generics.RetrieveAPIView):
|
||||
msg = _("Could not reset self otp, use profile reset instead")
|
||||
return Response({"error": msg}, status=401)
|
||||
|
||||
if user.mfa_enabled:
|
||||
user.reset_mfa()
|
||||
user.save()
|
||||
backends = user.active_mfa_backends_mapper
|
||||
for backend in backends:
|
||||
if backend.can_disable():
|
||||
backend.disable()
|
||||
|
||||
ResetMFAMsg(user).publish_async()
|
||||
ResetMFAMsg(user).publish_async()
|
||||
return Response({"msg": "success"})
|
||||
|
@@ -23,8 +23,8 @@ urlpatterns = [
|
||||
path('profile/', api.UserProfileApi.as_view(), name='user-profile'),
|
||||
path('profile/password/', api.UserPasswordApi.as_view(), name='user-password'),
|
||||
path('profile/public-key/', api.UserPublicKeyApi.as_view(), name='user-public-key'),
|
||||
path('otp/reset/', api.UserResetOTPApi.as_view(), name='my-otp-reset'),
|
||||
path('users/<uuid:pk>/otp/reset/', api.UserResetOTPApi.as_view(), name='user-reset-otp'),
|
||||
path('profile/mfa/reset/', api.UserResetMFAApi.as_view(), name='my-mfa-reset'),
|
||||
path('users/<uuid:pk>/mfa/reset/', api.UserResetMFAApi.as_view(), name='user-reset-mfa'),
|
||||
path('users/<uuid:pk>/password/', api.UserChangePasswordApi.as_view(), name='change-user-password'),
|
||||
path('users/<uuid:pk>/password/reset/', api.UserResetPasswordApi.as_view(), name='user-reset-password'),
|
||||
path('users/<uuid:pk>/pubkey/reset/', api.UserResetPKApi.as_view(), name='user-public-key-reset'),
|
||||
|
Reference in New Issue
Block a user