Creating temporary sessions for clients
To have unique sessions for each client, we will need to activate middleware that enables this feature. Channels provides us with SessionMiddlewareStack or AuthMiddlewareStack, which also include tools to build login or logout functionality. We will use AuthMiddlewareStack whenever we can.
We edit project_template/asgi.py as follows:
import django
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project_template.settings")
from django.conf import settings
django.setup()
from django.core.asgi import get_asgi_application
from channels.auth import AuthMiddlewareStack
from channels.routing import ProtocolTypeRouter, URLRouter
from django.urls import re_path
from app.app_template.consumers import ExampleConsumer
application = ProtocolTypeRouter(
{
# Django's ASGI application to handle traditional HTTP requests
...