fix: The conversation user is not authorized to use (#3590)

This commit is contained in:
shaohuzhang1 2025-07-14 18:44:37 +08:00 committed by GitHub
parent d8254f9e45
commit ca073fd0d6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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)