ruff + submissions validation
This commit is contained in:
@@ -12,35 +12,39 @@ import urllib.parse
|
||||
|
||||
class SimpleCASLoginView(View):
|
||||
"""Simple CAS login view."""
|
||||
|
||||
|
||||
def get(self, request):
|
||||
ticket = request.GET.get('ticket')
|
||||
|
||||
ticket = request.GET.get("ticket")
|
||||
|
||||
if ticket:
|
||||
# Coming back from CAS with ticket - validate it
|
||||
service_url = request.build_absolute_uri().split('?')[0] # Remove query params
|
||||
|
||||
service_url = request.build_absolute_uri().split("?")[
|
||||
0
|
||||
] # Remove query params
|
||||
|
||||
user = authenticate(request=request, ticket=ticket, service=service_url)
|
||||
|
||||
|
||||
if user:
|
||||
login(request, user)
|
||||
return redirect(settings.LOGIN_REDIRECT_URL)
|
||||
else:
|
||||
return HttpResponse("Authentication failed", status=401)
|
||||
|
||||
|
||||
else:
|
||||
# No ticket - redirect to CAS
|
||||
service_url = request.build_absolute_uri().split('?')[0] # Remove query params
|
||||
service_url = request.build_absolute_uri().split("?")[
|
||||
0
|
||||
] # Remove query params
|
||||
cas_login_url = f"{settings.CAS_SERVER_URL.rstrip('/')}/login?service={urllib.parse.quote(service_url)}"
|
||||
return redirect(cas_login_url)
|
||||
|
||||
|
||||
class SimpleCASLogoutView(View):
|
||||
"""Simple CAS logout view."""
|
||||
|
||||
|
||||
def get(self, request):
|
||||
logout(request)
|
||||
|
||||
|
||||
# Redirect to CAS logout
|
||||
cas_logout_url = f"{settings.CAS_SERVER_URL.rstrip('/')}/logout"
|
||||
return redirect(cas_logout_url)
|
||||
|
||||
Reference in New Issue
Block a user