mirror of
https://github.com/seanmorley15/AdventureLog.git
synced 2025-07-22 06:19:38 +02:00
Add DisableCSRFForMobileLoginSignup middleware to handle CSRF checks for mobile login/signup requests
This commit is contained in:
parent
b0e8c025fc
commit
7c3c139e61
2 changed files with 17 additions and 1 deletions
|
@ -30,3 +30,18 @@ class DisableCSRFForSessionTokenMiddleware(MiddlewareMixin):
|
||||||
def process_request(self, request):
|
def process_request(self, request):
|
||||||
if 'X-Session-Token' in request.headers:
|
if 'X-Session-Token' in request.headers:
|
||||||
setattr(request, '_dont_enforce_csrf_checks', True)
|
setattr(request, '_dont_enforce_csrf_checks', True)
|
||||||
|
|
||||||
|
class DisableCSRFForMobileLoginSignup(MiddlewareMixin):
|
||||||
|
def process_request(self, request):
|
||||||
|
is_mobile = request.headers.get('X-Is-Mobile', '').lower() == 'true'
|
||||||
|
is_login_or_signup = request.path in ['/auth/browser/v1/auth/login', '/auth/browser/v1/auth/signup']
|
||||||
|
print(f"Request path: {request.path}")
|
||||||
|
print(f"Is mobile: {is_mobile}")
|
||||||
|
print(f"Is login/signup: {is_login_or_signup}")
|
||||||
|
print(f"Request headers: {request.headers}")
|
||||||
|
|
||||||
|
if is_mobile and is_login_or_signup:
|
||||||
|
print("✅ Disabling CSRF for mobile login/signup")
|
||||||
|
setattr(request, '_dont_enforce_csrf_checks', True)
|
||||||
|
else:
|
||||||
|
print("🔒 CSRF not disabled for this request")
|
|
@ -71,6 +71,7 @@ MIDDLEWARE = (
|
||||||
'whitenoise.middleware.WhiteNoiseMiddleware',
|
'whitenoise.middleware.WhiteNoiseMiddleware',
|
||||||
'adventures.middleware.XSessionTokenMiddleware',
|
'adventures.middleware.XSessionTokenMiddleware',
|
||||||
'adventures.middleware.DisableCSRFForSessionTokenMiddleware',
|
'adventures.middleware.DisableCSRFForSessionTokenMiddleware',
|
||||||
|
'adventures.middleware.DisableCSRFForMobileLoginSignup',
|
||||||
'corsheaders.middleware.CorsMiddleware',
|
'corsheaders.middleware.CorsMiddleware',
|
||||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||||
'django.middleware.common.CommonMiddleware',
|
'django.middleware.common.CommonMiddleware',
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue