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)