authentik.sources.saml.signals

authentik saml source signal listener

 1"""authentik saml source signal listener"""
 2
 3from django.contrib.auth.signals import user_logged_out
 4from django.dispatch import receiver
 5from django.http import HttpRequest
 6from structlog.stdlib import get_logger
 7
 8from authentik.core.models import USER_ATTRIBUTE_DELETE_ON_LOGOUT, User
 9
10LOGGER = get_logger()
11
12
13@receiver(user_logged_out)
14def on_user_logged_out(sender, request: HttpRequest, user: User, **_):
15    """Delete temporary user if the `delete_on_logout` flag is enabled"""
16    if not user:
17        return
18    if user.attributes.get(USER_ATTRIBUTE_DELETE_ON_LOGOUT, False):
19        LOGGER.debug("Deleted temporary user", user=user)
20        user.delete()
LOGGER = <BoundLoggerLazyProxy(logger=None, wrapper_class=None, processors=None, context_class=None, initial_values={}, logger_factory_args=())>
@receiver(user_logged_out)
def on_user_logged_out( sender, request: django.http.request.HttpRequest, user: authentik.core.models.User, **_):
14@receiver(user_logged_out)
15def on_user_logged_out(sender, request: HttpRequest, user: User, **_):
16    """Delete temporary user if the `delete_on_logout` flag is enabled"""
17    if not user:
18        return
19    if user.attributes.get(USER_ATTRIBUTE_DELETE_ON_LOGOUT, False):
20        LOGGER.debug("Deleted temporary user", user=user)
21        user.delete()

Delete temporary user if the delete_on_logout flag is enabled