infrasynth-backend-kit/infrasynth/security/auth/middleware.py
2026-08-28 14:38:47 -05:00

18 lines
601 B
Python

from django.utils.deprecation import MiddlewareMixin
from .cookies import CookieJWTAuthentication
class JWTAuthenticationMiddleware(MiddlewareMixin):
"""Populates request.user from JWT cookie if present."""
def process_request(self, request):
if not hasattr(request, "user") or request.user.is_anonymous:
auth = CookieJWTAuthentication()
try:
user, token = auth.authenticate(request)
if user:
request.user = user
request.auth = token
except Exception:
pass