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

msumit pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git


The following commit(s) were added to refs/heads/master by this push:
     new f8d7f95  Update readme, add instructions on how to add auth during 
generation (#33)
f8d7f95 is described below

commit f8d7f958578fd1c63cef41d6b3f5447dc45bdfe6
Author: HTErik <89977373+hte...@users.noreply.github.com>
AuthorDate: Mon Oct 25 09:03:06 2021 +0200

    Update readme, add instructions on how to add auth during generation (#33)
    
    Because openapi schema is not listing the supported authentication
    schemas under security-section. The generated openapi client will not
    pass on any authenticaion configuration at all.
    
    Before generating the client, the relevant sections must be added.
    
    For more background, see
    https://github.com/apache/airflow/issues/17172 and
    https://github.com/apache/airflow/pull/17174
---
 README.md | 27 +++++++++++++++++----------
 1 file changed, 17 insertions(+), 10 deletions(-)

diff --git a/README.md b/README.md
index 13da734..31e7714 100644
--- a/README.md
+++ b/README.md
@@ -62,17 +62,11 @@ import airflow_client.client
 from pprint import pprint
 from airflow_client.client.api import config_api
 
-# The client must use the authentication and authorization parameters
-# in accordance with the API server security policy.
-# Examples for each auth method are provided below, use the example that
-# satisfies your auth use case.
 #
-# In case of the basic authentication below, make sure that Airflow is
-# configured with the basic_auth as backend:
-#
-# auth_backend = airflow.api.auth.backend.basic_auth
-#
-# Make sure that your user/name are configured properly
+# In case of the basic authentication below. Make sure:
+#  - Airflow is configured with the basic_auth as backend:
+#     auth_backend = airflow.api.auth.backend.basic_auth
+#  - Make sure that the client has been generated with securitySchema Basic.
 
 # Configure HTTP basic authorization: Basic
 configuration = airflow_client.client.Configuration(
@@ -108,6 +102,19 @@ git clone g...@github.com:apache/airflow-client-python.git
 
 # clone Airflow repo (if not already)
 git clone g...@github.com:apache/airflow.git
+```
+Edit the file `airflow/airflow/api_connexion/openapi/v1.yaml`
+Make sure it has the following `securitySchema`s listed under security 
`section`
+```yaml
+security: 
+  - Basic: []
+  - GoogleOpenId: []
+  - Kerberos: []
+```
+If your deployment of Airflow uses any different authentication mechanism than 
the three listed above, you might need to make further changes to the `v1.yaml` 
and generate your own client, see [OpenAPI Schema 
specification](https://swagger.io/docs/specification/authentication/) for 
details.
+(*These changes should not be commited to the upstream `v1.yaml` [as it will 
generate misleading openapi 
documentaion](https://github.com/apache/airflow/pull/17174)*)
+
+```bash 
 cd airflow
 
 # bump up the version in python.sh & run the following command 

Reply via email to