apache-airflow-providers-fab 1.0.2__tar.gz → 1.0.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/PKG-INFO +6 -6
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/README.rst +3 -3
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/__init__.py +1 -1
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint.py +2 -2
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.py +2 -2
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/fab_auth_manager.py +2 -2
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/security_manager/override.py +2 -2
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/get_provider_info.py +2 -2
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/pyproject.toml +3 -3
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/LICENSE +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/__init__.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/api/__init__.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/api/auth/__init__.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/api/auth/backend/__init__.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/api/auth/backend/basic_auth.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/api/auth/backend/kerberos_auth.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/api_endpoints/__init__.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/cli_commands/__init__.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/cli_commands/definition.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/cli_commands/role_command.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/cli_commands/sync_perm_command.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/cli_commands/user_command.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/cli_commands/utils.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/decorators/__init__.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/decorators/auth.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/models/__init__.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/models/anonymous_user.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/openapi/__init__.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/openapi/v1.yaml +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/security_manager/__init__.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/security_manager/constants.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/views/__init__.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/views/permissions.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/views/roles_list.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/views/user.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/views/user_edit.py +0 -0
- {apache_airflow_providers_fab-1.0.2 → apache_airflow_providers_fab-1.0.3}/airflow/providers/fab/auth_manager/views/user_stats.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: apache-airflow-providers-fab
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.3
|
4
4
|
Summary: Provider package apache-airflow-providers-fab for Apache Airflow
|
5
5
|
Keywords: airflow-provider,fab,airflow,integration
|
6
6
|
Author-email: Apache Software Foundation <dev@airflow.apache.org>
|
@@ -27,8 +27,8 @@ Requires-Dist: flask-login>=0.6.2
|
|
27
27
|
Requires-Dist: flask>=2.2,<2.3
|
28
28
|
Requires-Dist: google-re2>=1.0
|
29
29
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
30
|
-
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.
|
31
|
-
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.
|
30
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.3/changelog.html
|
31
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.3
|
32
32
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
33
33
|
Project-URL: Source Code, https://github.com/apache/airflow
|
34
34
|
Project-URL: Twitter, https://twitter.com/ApacheAirflow
|
@@ -78,7 +78,7 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
|
|
78
78
|
|
79
79
|
Package ``apache-airflow-providers-fab``
|
80
80
|
|
81
|
-
Release: ``1.0.
|
81
|
+
Release: ``1.0.3``
|
82
82
|
|
83
83
|
|
84
84
|
`Flask App Builder <https://flask-appbuilder.readthedocs.io/>`__
|
@@ -91,7 +91,7 @@ This is a provider package for ``fab`` provider. All classes for this provider p
|
|
91
91
|
are in ``airflow.providers.fab`` python package.
|
92
92
|
|
93
93
|
You can find package information and changelog for the provider
|
94
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.
|
94
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.3/>`_.
|
95
95
|
|
96
96
|
Installation
|
97
97
|
------------
|
@@ -116,4 +116,4 @@ PIP package Version required
|
|
116
116
|
==================== ==================
|
117
117
|
|
118
118
|
The changelog for the provider package can be found in the
|
119
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.
|
119
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.3/changelog.html>`_.
|
@@ -42,7 +42,7 @@
|
|
42
42
|
|
43
43
|
Package ``apache-airflow-providers-fab``
|
44
44
|
|
45
|
-
Release: ``1.0.
|
45
|
+
Release: ``1.0.3``
|
46
46
|
|
47
47
|
|
48
48
|
`Flask App Builder <https://flask-appbuilder.readthedocs.io/>`__
|
@@ -55,7 +55,7 @@ This is a provider package for ``fab`` provider. All classes for this provider p
|
|
55
55
|
are in ``airflow.providers.fab`` python package.
|
56
56
|
|
57
57
|
You can find package information and changelog for the provider
|
58
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.
|
58
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.3/>`_.
|
59
59
|
|
60
60
|
Installation
|
61
61
|
------------
|
@@ -80,4 +80,4 @@ PIP package Version required
|
|
80
80
|
==================== ==================
|
81
81
|
|
82
82
|
The changelog for the provider package can be found in the
|
83
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.
|
83
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.3/changelog.html>`_.
|
@@ -77,8 +77,8 @@ def get_roles(*, order_by: str = "name", limit: int, offset: int | None = None)
|
|
77
77
|
to_replace = {"role_id": "id"}
|
78
78
|
order_param = order_by.strip("-")
|
79
79
|
order_param = to_replace.get(order_param, order_param)
|
80
|
-
|
81
|
-
if order_by not in
|
80
|
+
allowed_sort_attrs = ["role_id", "name"]
|
81
|
+
if order_by not in allowed_sort_attrs:
|
82
82
|
raise BadRequest(
|
83
83
|
detail=f"Ordering with '{order_by}' is disallowed or "
|
84
84
|
f"the attribute does not exist on the model"
|
@@ -65,7 +65,7 @@ def get_users(*, limit: int, order_by: str = "id", offset: str | None = None) ->
|
|
65
65
|
to_replace = {"user_id": "id"}
|
66
66
|
order_param = order_by.strip("-")
|
67
67
|
order_param = to_replace.get(order_param, order_param)
|
68
|
-
|
68
|
+
allowed_sort_attrs = [
|
69
69
|
"id",
|
70
70
|
"first_name",
|
71
71
|
"last_name",
|
@@ -74,7 +74,7 @@ def get_users(*, limit: int, order_by: str = "id", offset: str | None = None) ->
|
|
74
74
|
"is_active",
|
75
75
|
"role",
|
76
76
|
]
|
77
|
-
if order_by not in
|
77
|
+
if order_by not in allowed_sort_attrs:
|
78
78
|
raise BadRequest(
|
79
79
|
detail=f"Ordering with '{order_by}' is disallowed or "
|
80
80
|
f"the attribute does not exist on the model"
|
@@ -44,7 +44,7 @@ from airflow.cli.cli_config import (
|
|
44
44
|
GroupCommand,
|
45
45
|
)
|
46
46
|
from airflow.configuration import conf
|
47
|
-
from airflow.exceptions import AirflowException
|
47
|
+
from airflow.exceptions import AirflowConfigException, AirflowException
|
48
48
|
from airflow.models import DagModel
|
49
49
|
from airflow.providers.fab.auth_manager.cli_commands.definition import (
|
50
50
|
ROLES_COMMANDS,
|
@@ -339,7 +339,7 @@ class FabAuthManager(BaseAuthManager):
|
|
339
339
|
sm_from_config = self.appbuilder.get_app.config.get("SECURITY_MANAGER_CLASS")
|
340
340
|
if sm_from_config:
|
341
341
|
if not issubclass(sm_from_config, FabAirflowSecurityManagerOverride):
|
342
|
-
raise
|
342
|
+
raise AirflowConfigException(
|
343
343
|
"""Your CUSTOM_SECURITY_MANAGER must extend FabAirflowSecurityManagerOverride."""
|
344
344
|
)
|
345
345
|
return sm_from_config(self.appbuilder)
|
@@ -810,7 +810,7 @@ class FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
|
|
810
810
|
# LDAP Config
|
811
811
|
if self.auth_type == AUTH_LDAP:
|
812
812
|
if "AUTH_LDAP_SERVER" not in app.config:
|
813
|
-
raise
|
813
|
+
raise ValueError("No AUTH_LDAP_SERVER defined on config with AUTH_LDAP authentication type.")
|
814
814
|
app.config.setdefault("AUTH_LDAP_SEARCH", "")
|
815
815
|
app.config.setdefault("AUTH_LDAP_SEARCH_FILTER", "")
|
816
816
|
app.config.setdefault("AUTH_LDAP_APPEND_DOMAIN", "")
|
@@ -2212,7 +2212,7 @@ class FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
|
|
2212
2212
|
log.debug("User info from Azure: %s", me)
|
2213
2213
|
# https://learn.microsoft.com/en-us/azure/active-directory/develop/id-token-claims-reference#payload-claims
|
2214
2214
|
return {
|
2215
|
-
"email": me
|
2215
|
+
"email": me["email"] if "email" in me else me["upn"],
|
2216
2216
|
"first_name": me.get("given_name", ""),
|
2217
2217
|
"last_name": me.get("family_name", ""),
|
2218
2218
|
"username": me["oid"],
|
@@ -28,8 +28,8 @@ def get_provider_info():
|
|
28
28
|
"name": "Fab",
|
29
29
|
"description": "`Flask App Builder <https://flask-appbuilder.readthedocs.io/>`__\n",
|
30
30
|
"state": "ready",
|
31
|
-
"source-date-epoch":
|
32
|
-
"versions": ["1.0.2", "1.0.1", "1.0.0"],
|
31
|
+
"source-date-epoch": 1712665766,
|
32
|
+
"versions": ["1.0.3", "1.0.2", "1.0.1", "1.0.0"],
|
33
33
|
"dependencies": [
|
34
34
|
"apache-airflow>=2.9.0",
|
35
35
|
"flask>=2.2,<2.3",
|
@@ -28,7 +28,7 @@ build-backend = "flit_core.buildapi"
|
|
28
28
|
|
29
29
|
[project]
|
30
30
|
name = "apache-airflow-providers-fab"
|
31
|
-
version = "1.0.
|
31
|
+
version = "1.0.3"
|
32
32
|
description = "Provider package apache-airflow-providers-fab for Apache Airflow"
|
33
33
|
readme = "README.rst"
|
34
34
|
authors = [
|
@@ -64,8 +64,8 @@ dependencies = [
|
|
64
64
|
]
|
65
65
|
|
66
66
|
[project.urls]
|
67
|
-
"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.
|
68
|
-
"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.
|
67
|
+
"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.3"
|
68
|
+
"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-fab/1.0.3/changelog.html"
|
69
69
|
"Bug Tracker" = "https://github.com/apache/airflow/issues"
|
70
70
|
"Source Code" = "https://github.com/apache/airflow"
|
71
71
|
"Slack Chat" = "https://s.apache.org/airflow-slack"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|