У меня есть websocket-router:
application = ProtocolTypeRouter({
'websocket':
AllowedHostsOriginValidator(
AuthMiddlewareStack(
URLRouter(
[
url("ws/", Consumer)
]
)
)
)
})
Я вхожу в систему, отправляя команду в websocket. Пользователь входит в систему следующим образом:
if cmd == 'login':
user = await database_sync_to_async(authenticate)(consumer.scope, email=request['eMail'], password=request['pass'])
if user is not None:
# login the user to this session.
await login(consumer.scope, user, backend='allauth.account.auth_backends.AuthenticationBackend')
# save the session
consumer.scope['session'].modified = True
await database_sync_to_async(consumer.scope['session'].save)()
Каждый раз, когда соединение websocket отключается, пользователь больше не входит в систему. Я думал, что сеанс сохраняется на
consumer.scope['session'].save()
, но он не работает. Сеанс не является постоянным.
Как я могу решить эту проблему?