
* providers/oauth2: fix amr claim not set due to login event not associated Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add sid claim Signed-off-by: Jens Langhammer <jens@goauthentik.io> * import engine only once Signed-off-by: Jens Langhammer <jens@goauthentik.io> * remove manual sid extraction from proxy, add test, make session key hashing more obvious Signed-off-by: Jens Langhammer <jens@goauthentik.io> * unrelated string fix Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix format Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix tests Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: Jens Langhammer <jens@goauthentik.io>
15 lines
570 B
Python
15 lines
570 B
Python
from django.contrib.auth.signals import user_logged_out
|
|
from django.dispatch import receiver
|
|
from django.http import HttpRequest
|
|
|
|
from authentik.core.models import User
|
|
from authentik.providers.oauth2.models import AccessToken
|
|
|
|
|
|
@receiver(user_logged_out)
|
|
def user_logged_out_oauth_access_token(sender, request: HttpRequest, user: User, **_):
|
|
"""Revoke access tokens upon user logout"""
|
|
if not request.session or not request.session.session_key:
|
|
return
|
|
AccessToken.objects.filter(user=user, session__session_key=request.session.session_key).delete()
|