diff --git a/apps/audits/signals_handler.py b/apps/audits/signals_handler.py index 9579ca6e5..dab56fa5c 100644 --- a/apps/audits/signals_handler.py +++ b/apps/audits/signals_handler.py @@ -111,12 +111,10 @@ def on_audits_log_create(sender, instance=None, **kwargs): def generate_data(username, request): user_agent = request.META.get('HTTP_USER_AGENT', '') - + login_ip = get_request_ip(request) or '0.0.0.0' if isinstance(request, Request): - login_ip = request.data.get('remote_addr', '0.0.0.0') - login_type = request.data.get('login_type', '') + login_type = request.META.get('HTTP_X_JMS_LOGIN_TYPE', '') else: - login_ip = get_request_ip(request) or '0.0.0.0' login_type = 'W' data = { diff --git a/apps/users/serializers/user.py b/apps/users/serializers/user.py index 2363c39ed..da9b725ec 100644 --- a/apps/users/serializers/user.py +++ b/apps/users/serializers/user.py @@ -74,8 +74,17 @@ class UserSerializer(BulkSerializerMixin, serializers.ModelSerializer): attrs['password_raw'] = password return attrs + @staticmethod + def clean_auth_fields(attrs): + for field in ('password', 'public_key'): + value = attrs.get(field) + if not value: + attrs.pop(field, None) + return attrs + def validate(self, attrs): attrs = self.change_password_to_raw(attrs) + attrs = self.clean_auth_fields(attrs) return attrs