providers proxy: migrate tasks
Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
This commit is contained in:
@ -14,10 +14,10 @@ def logout_proxy_revoke_direct(sender: type[User], request: HttpRequest, **_):
|
|||||||
"""Catch logout by direct logout and forward to proxy providers"""
|
"""Catch logout by direct logout and forward to proxy providers"""
|
||||||
if not request.session or not request.session.session_key:
|
if not request.session or not request.session.session_key:
|
||||||
return
|
return
|
||||||
proxy_on_logout.delay(request.session.session_key)
|
proxy_on_logout.send(request.session.session_key)
|
||||||
|
|
||||||
|
|
||||||
@receiver(pre_delete, sender=AuthenticatedSession)
|
@receiver(pre_delete, sender=AuthenticatedSession)
|
||||||
def logout_proxy_revoke(sender: type[AuthenticatedSession], instance: AuthenticatedSession, **_):
|
def logout_proxy_revoke(sender: type[AuthenticatedSession], instance: AuthenticatedSession, **_):
|
||||||
"""Catch logout by expiring sessions being deleted"""
|
"""Catch logout by expiring sessions being deleted"""
|
||||||
proxy_on_logout.delay(instance.session_key)
|
proxy_on_logout.send(instance.session_key)
|
||||||
|
@ -3,15 +3,15 @@
|
|||||||
from asgiref.sync import async_to_sync
|
from asgiref.sync import async_to_sync
|
||||||
from channels.layers import get_channel_layer
|
from channels.layers import get_channel_layer
|
||||||
from django.db import DatabaseError, InternalError, ProgrammingError
|
from django.db import DatabaseError, InternalError, ProgrammingError
|
||||||
|
from dramatiq.actor import actor
|
||||||
|
|
||||||
from authentik.outposts.consumer import OUTPOST_GROUP
|
from authentik.outposts.consumer import OUTPOST_GROUP
|
||||||
from authentik.outposts.models import Outpost, OutpostType
|
from authentik.outposts.models import Outpost, OutpostType
|
||||||
from authentik.providers.oauth2.id_token import hash_session_key
|
from authentik.providers.oauth2.id_token import hash_session_key
|
||||||
from authentik.providers.proxy.models import ProxyProvider
|
from authentik.providers.proxy.models import ProxyProvider
|
||||||
from authentik.root.celery import CELERY_APP
|
|
||||||
|
|
||||||
|
|
||||||
@CELERY_APP.task(
|
@actor(
|
||||||
throws=(DatabaseError, ProgrammingError, InternalError),
|
throws=(DatabaseError, ProgrammingError, InternalError),
|
||||||
)
|
)
|
||||||
def proxy_set_defaults():
|
def proxy_set_defaults():
|
||||||
@ -21,7 +21,7 @@ def proxy_set_defaults():
|
|||||||
provider.save()
|
provider.save()
|
||||||
|
|
||||||
|
|
||||||
@CELERY_APP.task()
|
@actor
|
||||||
def proxy_on_logout(session_id: str):
|
def proxy_on_logout(session_id: str):
|
||||||
"""Update outpost instances connected to a single outpost"""
|
"""Update outpost instances connected to a single outpost"""
|
||||||
layer = get_channel_layer()
|
layer = get_channel_layer()
|
||||||
|
@ -91,6 +91,7 @@ def _get_startup_tasks_default_tenant() -> list[Callable]:
|
|||||||
"""Get all tasks to be run on startup for the default tenant"""
|
"""Get all tasks to be run on startup for the default tenant"""
|
||||||
# from authentik.outposts.tasks import outpost_connection_discovery
|
# from authentik.outposts.tasks import outpost_connection_discovery
|
||||||
|
|
||||||
|
# TODO: figure out what to do with this
|
||||||
return [
|
return [
|
||||||
# outpost_connection_discovery,
|
# outpost_connection_discovery,
|
||||||
]
|
]
|
||||||
@ -99,11 +100,12 @@ def _get_startup_tasks_default_tenant() -> list[Callable]:
|
|||||||
def _get_startup_tasks_all_tenants() -> list[Callable]:
|
def _get_startup_tasks_all_tenants() -> list[Callable]:
|
||||||
"""Get all tasks to be run on startup for all tenants"""
|
"""Get all tasks to be run on startup for all tenants"""
|
||||||
# from authentik.admin.tasks import clear_update_notifications
|
# from authentik.admin.tasks import clear_update_notifications
|
||||||
from authentik.providers.proxy.tasks import proxy_set_defaults
|
# from authentik.providers.proxy.tasks import proxy_set_defaults
|
||||||
|
|
||||||
|
# TODO: figure out what to do with this
|
||||||
return [
|
return [
|
||||||
# clear_update_notifications,
|
# clear_update_notifications,
|
||||||
proxy_set_defaults,
|
# proxy_set_defaults,
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user