You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "Rohit S S (Jira)" <ji...@apache.org> on 2020/04/17 14:17:00 UTC

[jira] [Assigned] (AIRFLOW-5156) Add other authentication mechanisms to HttpHook

     [ https://issues.apache.org/jira/browse/AIRFLOW-5156?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rohit S S reassigned AIRFLOW-5156:
----------------------------------

    Assignee: Rohit S S

> Add other authentication mechanisms to HttpHook
> -----------------------------------------------
>
>                 Key: AIRFLOW-5156
>                 URL: https://issues.apache.org/jira/browse/AIRFLOW-5156
>             Project: Apache Airflow
>          Issue Type: Improvement
>          Components: hooks
>    Affects Versions: 1.10.4
>            Reporter: Joshua Kornblum
>            Assignee: Rohit S S
>            Priority: Minor
>
> It looks like the only supported authentication for HttpHooks is basic auth.
> The hook code shows 
> {quote}_if conn.login:_
>   _session.auth = (conn.login, conn.password)_
> {quote}
> requests library supports any auth that inherits AuthBase – in my scenario we need ntlmauth for API on IIS server. [https://2.python-requests.org/en/master/user/advanced/#custom-authentication]
> I would suggest option to pass auth object in constructor then add to if/else control flow like
> {quote}_if self.auth is not None:_
>   _session.auth = self.auth_
> _elif conn.login:_
>   _session.auth = (conn.login, conn.password)_
> {quote}
> One would have to fetch the connection themselves and then fill out auth and then pass that to hook which is flexible although a little awkard.
> {quote}api_conn = BaseHook().get_connection('my_api')
> auth = HttpNtlmAuth(api_conn.login, api_conn.password)
> HttpSensor(task_id='sensing', auth=auth, ....)
> {quote}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)