From b2dab8b059297c53efdc553b34d42691cd454c75 Mon Sep 17 00:00:00 2001 From: Bai Date: Wed, 10 Jun 2026 10:44:21 +0800 Subject: [PATCH] fix: update user empty ukey_sn field value --- .../backends/ukey/vendors/ji_da/sdk_config.yaml | 2 +- .../backends/ukey/vendors/long_mai/sdk_config.yaml | 2 +- apps/users/serializers/user.py | 9 +++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/apps/authentication/backends/ukey/vendors/ji_da/sdk_config.yaml b/apps/authentication/backends/ukey/vendors/ji_da/sdk_config.yaml index 77d5e5da8..2815f7ec1 100644 --- a/apps/authentication/backends/ukey/vendors/ji_da/sdk_config.yaml +++ b/apps/authentication/backends/ukey/vendors/ji_da/sdk_config.yaml @@ -297,7 +297,7 @@ operations: url_format: user_id: "{{ user.id }}" body: - ukey_sn: null + ukey_sn: "" register: user - key: issueCert diff --git a/apps/authentication/backends/ukey/vendors/long_mai/sdk_config.yaml b/apps/authentication/backends/ukey/vendors/long_mai/sdk_config.yaml index 39028feff..3cb850247 100644 --- a/apps/authentication/backends/ukey/vendors/long_mai/sdk_config.yaml +++ b/apps/authentication/backends/ukey/vendors/long_mai/sdk_config.yaml @@ -359,7 +359,7 @@ operations: url_format: user_id: "{{ user.id }}" body: - ukey_sn: null + ukey_sn: "" register: user - key: issueCert diff --git a/apps/users/serializers/user.py b/apps/users/serializers/user.py index 7bbf9dc6d..99803d4c2 100644 --- a/apps/users/serializers/user.py +++ b/apps/users/serializers/user.py @@ -325,6 +325,14 @@ class UserSerializer( attrs.pop(field, None) return attrs + @staticmethod + def clean_ukey_fields(attrs): + for field in ("ukey_sn",): + value = attrs.get(field) + if value is None: + attrs.pop(field, None) + return attrs + def check_disallow_self_update_fields(self, attrs): request = self.context.get("request") if not request or not request.user.is_authenticated: @@ -348,6 +356,7 @@ class UserSerializer( attrs = self.check_disallow_self_update_fields(attrs) attrs = self.change_password_to_raw(attrs) attrs = self.clean_auth_fields(attrs) + attrs = self.clean_ukey_fields(attrs) password_strategy = attrs.pop("password_strategy", None) request = get_current_request() if request: