diff --git a/apps/users/api.py b/apps/users/api.py index 18457a2b4..dd1b76ba3 100644 --- a/apps/users/api.py +++ b/apps/users/api.py @@ -150,23 +150,23 @@ class UserOtpAuthApi(APIView): if not check_otp_code(user.otp_secret_key, otp_code): # Write login failed log - kwargs = { + data = { 'username': user.username, 'mfa': int(user.otp_enabled), 'reason': LoginLog.REASON_MFA, 'status': False } - self.write_login_log(request, **kwargs) + self.write_login_log(request, data) return Response({'msg': 'MFA认证失败'}, status=401) # Write login success log - kwargs = { + data = { 'username': user.username, 'mfa': int(user.otp_enabled), 'reason': LoginLog.REASON_NOTHING, 'status': True } - self.write_login_log(request, **kwargs) + self.write_login_log(request, data) token = generate_token(request, user) return Response( { @@ -176,7 +176,7 @@ class UserOtpAuthApi(APIView): ) @staticmethod - def write_login_log(request, **kwargs): + def write_login_log(request, data): login_ip = request.data.get('remote_addr', None) login_type = request.data.get('login_type', '') user_agent = request.data.get('HTTP_USER_AGENT', '') @@ -184,13 +184,13 @@ class UserOtpAuthApi(APIView): if not login_ip: login_ip = get_login_ip(request) - data = { + tmp_data = { 'ip': login_ip, 'type': login_type, 'user_agent': user_agent } - kwargs.update(data) - write_login_log_async.delay(**kwargs) + data.update(tmp_data) + write_login_log_async.delay(**data) class UserAuthApi(APIView): @@ -202,24 +202,24 @@ class UserAuthApi(APIView): if not user: # Write login failed log - kwargs = { + data = { 'username': request.data.get('username', ''), 'mfa': LoginLog.MFA_UNKNOWN, 'reason': LoginLog.REASON_PASSWORD, 'status': False } - self.write_login_log(request, **kwargs) + self.write_login_log(request, data) return Response({'msg': msg}, status=401) if not user.otp_enabled: # Write login success log - kwargs = { + data = { 'username': user.username, 'mfa': int(user.otp_enabled), 'reason': LoginLog.REASON_NOTHING, 'status': True } - self.write_login_log(request, **kwargs) + self.write_login_log(request, data) token = generate_token(request, user) return Response( { @@ -252,7 +252,7 @@ class UserAuthApi(APIView): return user, msg @staticmethod - def write_login_log(request, **kwargs): + def write_login_log(request, data): login_ip = request.data.get('remote_addr', None) login_type = request.data.get('login_type', '') user_agent = request.data.get('HTTP_USER_AGENT', '') @@ -260,14 +260,14 @@ class UserAuthApi(APIView): if not login_ip: login_ip = get_login_ip(request) - data = { + tmp_data = { 'ip': login_ip, 'type': login_type, 'user_agent': user_agent, } - kwargs.update(data) + data.update(tmp_data) - write_login_log_async.delay(**kwargs) + write_login_log_async.delay(**data) class UserConnectionTokenApi(APIView): diff --git a/apps/users/views/login.py b/apps/users/views/login.py index 02f3b66af..7e853e45f 100644 --- a/apps/users/views/login.py +++ b/apps/users/views/login.py @@ -67,13 +67,13 @@ class UserLoginView(FormView): def form_invalid(self, form): # Write login failed log - kwargs = { + data = { 'username': form.cleaned_data.get('username'), 'mfa': LoginLog.MFA_UNKNOWN, 'reason': LoginLog.REASON_PASSWORD, 'status': False } - self.write_login_log(**kwargs) + self.write_login_log(data) ip = get_login_ip(self.request) cache.set(self.key_prefix.format(ip), 1, 3600) @@ -102,13 +102,13 @@ class UserLoginView(FormView): # 0 & T,F auth_login(self.request, user) # Write login success log - kwargs = { + data = { 'username': self.request.user.username, 'mfa': int(self.request.user.otp_enabled), 'reason': LoginLog.REASON_NOTHING, 'status': True } - self.write_login_log(**kwargs) + self.write_login_log(data) return redirect_user_first_login_or_index(self.request, self.redirect_field_name) def get_context_data(self, **kwargs): @@ -118,16 +118,16 @@ class UserLoginView(FormView): kwargs.update(context) return super().get_context_data(**kwargs) - def write_login_log(self, **kwargs): + def write_login_log(self, data): login_ip = get_login_ip(self.request) user_agent = self.request.META.get('HTTP_USER_AGENT', '') - data = { + tmp_data = { 'ip': login_ip, 'type': 'W', 'user_agent': user_agent } - kwargs.update(data) - write_login_log_async.delay(**kwargs) + data.update(tmp_data) + write_login_log_async.delay(**data) class UserLoginOtpView(FormView): @@ -143,39 +143,39 @@ class UserLoginOtpView(FormView): if check_otp_code(otp_secret_key, otp_code): auth_login(self.request, user) # Write login success log - kwargs = { + data = { 'username': self.request.user.username, 'mfa': int(self.request.user.otp_enabled), 'reason': LoginLog.REASON_NOTHING, 'status': True } - self.write_login_log(**kwargs) + self.write_login_log(data) return redirect(self.get_success_url()) else: # Write login failed log - kwargs = { + data = { 'username': user.username, 'mfa': int(user.otp_enabled), 'reason': LoginLog.REASON_MFA, 'status': False } - self.write_login_log(**kwargs) + self.write_login_log(data) form.add_error('otp_code', _('MFA code invalid')) return super().form_invalid(form) def get_success_url(self): return redirect_user_first_login_or_index(self.request, self.redirect_field_name) - def write_login_log(self, **kwargs): + def write_login_log(self, data): login_ip = get_login_ip(self.request) user_agent = self.request.META.get('HTTP_USER_AGENT', '') - data = { + tmp_data = { 'ip': login_ip, 'type': 'W', 'user_agent': user_agent } - kwargs.update(data) - write_login_log_async.delay(**kwargs) + data.update(tmp_data) + write_login_log_async.delay(**data) @method_decorator(never_cache, name='dispatch')