Skip to content

Commit

Permalink
fix: log plutôt qu'erreur pour une déconnexion IC
Browse files Browse the repository at this point in the history
Les anciens utilisateurs IC encore connectés rencontraient une erreur
lors d'une déconnexion explicite.
Il est préférable d'avoir un log de WARNING, qui disparaitra au fil du
temps.
  • Loading branch information
ikarius committed Oct 30, 2024
1 parent 65932dd commit a6444ee
Showing 1 changed file with 10 additions and 7 deletions.
17 changes: 10 additions & 7 deletions back/dora/oidc/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -234,14 +234,17 @@ def oidc_pre_logout(request):
logout_url = furl(settings.OIDC_OP_LOGOUT_ENDPOINT, args=params)
return HttpResponseRedirect(redirect_to=logout_url.url)

# si il n'y a pas de token présent en session,
# Si il n'y a pas de token OIDC présent en session,
# il est aussi possible que la session soit active suite à une connexion
# via "magic link"
if request.session.get(settings.SESAME_SESSION_NAME):
return HttpResponseRedirect(redirect_to=reverse("oidc_logout"))

# Sinon
raise SuspiciousOperation("Tentative de déconnexion sans token ou lien magique")
# via "magic link", auquel cas un autre token est présent.
if not request.session.get(settings.SESAME_SESSION_NAME):
# Si il ne s'agit pas d'une connexion 'sesame', il s'agit d'une déconnexion
# d'un utilisateur connecté via Inclusion Connect.
# Ce cas disparaitra progressivement.
logging.warning("Tentative de déconnexion sans token ou lien magique (IC?)")

# Dans tous les cas, effacement de la session Django :
return HttpResponseRedirect(redirect_to=reverse("oidc_logout"))


class CustomAuthorizationCallbackView(OIDCAuthenticationCallbackView):
Expand Down

0 comments on commit a6444ee

Please sign in to comment.