You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "Joshua Kornblum (JIRA)" <ji...@apache.org> on 2019/08/09 14:34:00 UTC

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

Joshua Kornblum created AIRFLOW-5156:
----------------------------------------

             Summary: 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


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 = HttpHook('my_api').get_connection()

auth = HttpNtlmAuth(api_conn.login, api_conn.password)

HttpSensor(task_id='sensing', auth=auth, ....)
{quote}



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)