From d65b8ae0295251b43e66a04cc2bce457b723575e Mon Sep 17 00:00:00 2001 From: Marc 'risson' Schmitt Date: Thu, 5 Jun 2025 14:28:18 +0200 Subject: [PATCH] providers/proxy: set_oauth_defaults in reconcile instead of task (#14875) --- authentik/providers/proxy/apps.py | 8 ++++++++ authentik/providers/proxy/tasks.py | 12 ------------ authentik/root/celery.py | 2 -- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/authentik/providers/proxy/apps.py b/authentik/providers/proxy/apps.py index c5a384f748..50b3174b3c 100644 --- a/authentik/providers/proxy/apps.py +++ b/authentik/providers/proxy/apps.py @@ -10,3 +10,11 @@ class AuthentikProviderProxyConfig(ManagedAppConfig): label = "authentik_providers_proxy" verbose_name = "authentik Providers.Proxy" default = True + + @ManagedAppConfig.reconcile_tenant + def proxy_set_defaults(self): + from authentik.providers.proxy.models import ProxyProvider + + for provider in ProxyProvider.objects.all(): + provider.set_oauth_defaults() + provider.save() diff --git a/authentik/providers/proxy/tasks.py b/authentik/providers/proxy/tasks.py index e9c449fcf0..7051619b5e 100644 --- a/authentik/providers/proxy/tasks.py +++ b/authentik/providers/proxy/tasks.py @@ -2,25 +2,13 @@ from asgiref.sync import async_to_sync from channels.layers import get_channel_layer -from django.db import DatabaseError, InternalError, ProgrammingError from authentik.outposts.consumer import OUTPOST_GROUP from authentik.outposts.models import Outpost, OutpostType from authentik.providers.oauth2.id_token import hash_session_key -from authentik.providers.proxy.models import ProxyProvider from authentik.root.celery import CELERY_APP -@CELERY_APP.task( - throws=(DatabaseError, ProgrammingError, InternalError), -) -def proxy_set_defaults(): - """Ensure correct defaults are set for all providers""" - for provider in ProxyProvider.objects.all(): - provider.set_oauth_defaults() - provider.save() - - @CELERY_APP.task() def proxy_on_logout(session_id: str): """Update outpost instances connected to a single outpost""" diff --git a/authentik/root/celery.py b/authentik/root/celery.py index 0ec011e9b0..e71f241e0d 100644 --- a/authentik/root/celery.py +++ b/authentik/root/celery.py @@ -99,11 +99,9 @@ def _get_startup_tasks_default_tenant() -> list[Callable]: def _get_startup_tasks_all_tenants() -> list[Callable]: """Get all tasks to be run on startup for all tenants""" from authentik.admin.tasks import clear_update_notifications - from authentik.providers.proxy.tasks import proxy_set_defaults return [ clear_update_notifications, - proxy_set_defaults, ]