This is an automated email from the ASF dual-hosted git repository.
potiuk 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 39fb57501da fix(fab): add authlib as optional oauth extra in fab
provider (#64457)
39fb57501da is described below
commit 39fb57501da6d79205d605b62b4b9989690a89bb
Author: Zamuldinov Nikita <[email protected]>
AuthorDate: Wed Apr 1 19:10:16 2026 +0300
fix(fab): add authlib as optional oauth extra in fab provider (#64457)
authlib is imported at runtime by FabAuthManager's security-manager override
whenever AUTH_OAUTH is enabled:
- authlib.integrations.flask_client.OAuth – provider registration
- authlib.jose.JsonWebKey / jwt – JWT validation
flask-appbuilder 5.x exposes authlib under its own [oauth] extra
(Authlib<2.0.0,>=0.14), but the airflow-providers-fab package did not
re-expose it, so users who enable OAuth had to install authlib manually
and received no helpful error message when it was missing.
This commit adds an oauth optional-dependency group so that:
pip install 'apache-airflow-providers-fab[oauth]'
pulls authlib in, mirroring the existing kerberos pattern.
Fixes #64456
Signed-off-by: NIK-TIGER-BILL <[email protected]>
Co-authored-by: NIK-TIGER-BILL <[email protected]>
---
providers/fab/pyproject.toml | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/providers/fab/pyproject.toml b/providers/fab/pyproject.toml
index f45d4295356..99699253e97 100644
--- a/providers/fab/pyproject.toml
+++ b/providers/fab/pyproject.toml
@@ -103,6 +103,14 @@ dependencies = [
"kerberos" = [
"kerberos>=1.3.0",
]
+"oauth" = [
+ # authlib is required by the FAB security manager when AUTH_OAUTH is
enabled.
+ # It is used for OAuth provider registration
(authlib.integrations.flask_client.OAuth)
+ # and JWT validation (authlib.jose.JsonWebKey / authlib.jose.jwt).
+ # flask-appbuilder ships authlib as its own optional [oauth] extra; we
expose it
+ # here so that ``pip install apache-airflow-providers-fab[oauth]`` pulls
it in.
+ "authlib>=1.0.0",
+]
[dependency-groups]
dev = [
@@ -113,6 +121,7 @@ dev = [
# Additional devel dependencies (do not remove this line and add extra
development dependencies)
"kerberos>=1.3.0",
"requests_kerberos>=0.14.0",
+ "authlib>=1.0.0",
]
# To build docs: