Каналы django не могут аутентифицировать пользователя, используя встроенную систему аутентификации django, как указано в документах - PullRequest
1 голос
/ 02 июля 2019

Я хочу запустить потребителя, который требует, чтобы аутентифицированный пользователь в моих каналах приложений отключал потребителя, говоря, что пользователь не аутентифицирован

, но пользователь аутентифицирован, и его куки обновляются в браузере

Я следил за документацией по каналам, которая аутентифицирует пользователя

class LikeConsumer(AsyncJsonWebsocketConsumer):

    async def connect(self):

        self.user = self.scope["user"]
        # user = self.scope['user']
        user=self.user
        print(user)

        if user.is_anonymous:
            await self.close()
            print("user is anonymous")
        else:
            await self.accept()
            # user_group = await self._get_user_group(self.scope['user'])

            await self.channel_layer.group_add("{}".format(user.id), self.channel_name)
            print(f"Add {self.channel_name} channel to post's group")
            print('connected')
    # @database_sync_to_async
    # def _get_user_group(self, user):
    #   if not user.is_authenticated:
    #       raise Exception('User is not authenticated.')
    #   else:
    #       print("user is not authenticated")
    #   return user

    async def disconnect(self,close_code):
        user = self.scope['user']

        await self.channel_layer.group_discard("{}".format(user.id), self.channel_name)
        print(f"Remove {self.channel_name} channel from post's group")

Я не уверен, что именно ошибка

user is anonymous
    WebSocket DISCONNECT /like/ [127.0.0.1:50710]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...