From ca073fd0d6d268c2022b66963f0ca5d9c643d404 Mon Sep 17 00:00:00 2001 From: shaohuzhang1 <80892890+shaohuzhang1@users.noreply.github.com> Date: Mon, 14 Jul 2025 18:44:37 +0800 Subject: [PATCH] fix: The conversation user is not authorized to use (#3590) --- apps/chat/serializers/chat.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/apps/chat/serializers/chat.py b/apps/chat/serializers/chat.py index 93ed7b216..8649cc2e8 100644 --- a/apps/chat/serializers/chat.py +++ b/apps/chat/serializers/chat.py @@ -314,10 +314,13 @@ class ChatSerializers(serializers.Serializer): application_id = self.data.get('application_id') chat_user_type = self.data.get('chat_user_type') is_auth_chat_user = DatabaseModelManage.get_model("is_auth_chat_user") - if chat_user_type == ChatUserType.CHAT_USER.value and is_auth_chat_user: - is_auth = is_auth_chat_user(chat_user_id, application_id) - if not is_auth: - raise ChatException(500, _("The chat user is not authorized.")) + application_access_token = QuerySet(ApplicationAccessToken).filter(application_id=application_id).first() + if application_access_token and application_access_token.authentication and application_access_token.authentication_value.get( + 'type') == 'login': + if chat_user_type == ChatUserType.CHAT_USER.value and is_auth_chat_user: + is_auth = is_auth_chat_user(chat_user_id, application_id) + if not is_auth: + raise ChatException(500, _("The chat user is not authorized.")) def chat(self, instance: dict, base_to_response: BaseToResponse = SystemToResponse()): super().is_valid(raise_exception=True)