[Feature] OAuth2 Provider (#84)

Fixes #74

Co-authored-by: Tim Lorsbach <tim@lorsba.ch>
Reviewed-on: enviPath/enviPy#84
This commit is contained in:
2025-09-05 06:50:16 +12:00
parent 4158bd36cb
commit 3c8f0e80cb
8 changed files with 189 additions and 2 deletions

View File

@ -1,6 +1,7 @@
from django.conf import settings
from django.shortcuts import redirect
from django.urls import reverse
from urllib.parse import quote
class LoginRequiredMiddleware:
def __init__(self, get_response):
@ -17,5 +18,8 @@ class LoginRequiredMiddleware:
if not request.user.is_authenticated:
path = request.path_info
if not any(path.startswith(url) for url in self.exempt_urls):
if request.method == 'GET':
if request.get_full_path() and request.get_full_path() != '/':
return redirect(f"{settings.LOGIN_URL}?next={quote(request.get_full_path())}")
return redirect(settings.LOGIN_URL)
return self.get_response(request)