You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by vi...@apache.org on 2026/04/24 21:50:39 UTC

(airflow) branch main updated: Fix '/auth/token' 500 when FAB auth manager is recreated (#65710)

This is an automated email from the ASF dual-hosted git repository.

vincbeck pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 77fa3487db6 Fix '/auth/token' 500 when FAB auth manager is recreated (#65710)
77fa3487db6 is described below

commit 77fa3487db6c117260d1d38538e3ff39768cb392
Author: Ethan_1000 <sn...@gmail.com>
AuthorDate: Sat Apr 25 06:50:31 2026 +0900

    Fix '/auth/token' 500 when FAB auth manager is recreated (#65710)
---
 .../src/airflow/providers/fab/www/extensions/init_appbuilder.py   | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/providers/fab/src/airflow/providers/fab/www/extensions/init_appbuilder.py b/providers/fab/src/airflow/providers/fab/www/extensions/init_appbuilder.py
index 4662e50a439..7a6d8c6d894 100644
--- a/providers/fab/src/airflow/providers/fab/www/extensions/init_appbuilder.py
+++ b/providers/fab/src/airflow/providers/fab/www/extensions/init_appbuilder.py
@@ -165,6 +165,8 @@ class AirflowAppBuilder:
         :param app:
         :param session: The SQLAlchemy session
         """
+        from airflow.providers.fab.www.utils import get_fab_auth_manager
+
         log.info("Initializing AppBuilder")
         app.config.setdefault("APP_NAME", "F.A.B.")
         app.config.setdefault("APP_THEME", "")
@@ -193,10 +195,12 @@ class AirflowAppBuilder:
             self.menu = dynamic_class_import(_menu)
         else:
             self.menu = self.menu or Menu()
-
         self._addon_managers = app.config["ADDON_MANAGERS"]
         self.session = session
-        auth_manager = create_auth_manager()
+        try:
+            auth_manager = get_fab_auth_manager()
+        except RuntimeError:
+            auth_manager = create_auth_manager()
         with _init_app_lock:
             auth_manager.appbuilder = self
             # Invalidate cached security_manager so it binds to the current Flask app.