mirror of https://github.com/jumpserver/jumpserver
fix: 修复重置mfa的bug
parent
a315e8888b
commit
12a0096963
|
@ -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'),
|
||||
|
|
Loading…
Reference in New Issue