Implement VIP table and fix 401 login bug

This commit is contained in:
Rachid Mrad 2024-01-18 19:58:53 -05:00
parent 7077519837
commit 510da21934
No known key found for this signature in database
GPG key ID: EF38E4CEC4A8F3CF
11 changed files with 175 additions and 1 deletions

View file

@ -55,6 +55,10 @@ def error_page(request, error):
def openid(request):
"""Redirect the user to an authentication provider (OP)."""
# If the session reset because of a server restart, attempt to login again
request.session["acr_value"] = CLIENT.get_default_acr_value()
request.session["next"] = request.GET.get("next", "/")
try:
@ -78,9 +82,13 @@ def login_callback(request):
if user:
login(request, user)
logger.info("Successfully logged in user %s" % user)
# Double login bug?
return redirect(request.session.get("next", "/"))
else:
raise o_e.BannedUser()
except o_e.NoStateDefined as nsd_err:
logger.debug(f"No State Defined: {nsd_err}")
return redirect(request.session.get("next", "/"))
except Exception as err:
return error_page(request, err)