AlteryxのダウンロードツールでBasic認証を行う方法をご紹介します
Alteryx ACEのAkimasaKajitaniです。
ダウンロードツールでRestAPIを叩く時に一番苦労するのは実は認証を突破することだと個人的には考えていますが、今回はBasic認証について考えたいと思います。
Basic認証とは
Basic認証は簡易的な認証方式で、ユーザー名とパスワードを使ってアクセスすることで認証が通る、と言われています。
実際、Basic認証がかかっているWEBサイトなどにブラウザでアクセスすると、ユーザー名とパスワードを求められる画面が出てきます。
ちょとやってみましょう。今回は、テスト用に公開されているこちら のページを使わせていただきました。Chromeブラウザで該当のURLにアクセスすると以下のようにポップアップが出現します。
ここでユーザー名とパスワードを入れればそのままアクセスできるようになっています。ただし、Alteryxではこの方法は使えません(ユーザー名とパスワードを入れる画面がポップアップされないので)。
Wikipedia によると、
Basic認証では、ユーザ名とパスワードの組みをコロン ":" でつなぎ、Base64でエンコードして送信する。
とあります。非常に単純な話ですね・・・。
AlteryxでBasic認証を行う
実際にAlteryxを使ってBasic認証でアクセスしてみましょう。
まず、今回はアクセス先URL、ID、Passをテキスト入力ツールに記載してパラメータ化しています(フォーミュラツールに埋め込まないようにしました)。
これに対して、まずフォーミュラツールでIDとPassをコロンで結合したものを作ります。
[ID]+":"+[Pass]
ここからBase64エンコードをこの項目に対して行えば良いのですが、Base64エンコード自体は関数にはなく、ツールとしてBase64エンコードツールが存在しているので、これを使っていきます。
といっても設定項目はフィールドを選択するだけです。
次に、Authorizationというフィールドを作成し、「Basic 」という文字に続いてBase64エンコードされた文字列を結合します。
"Basic "+[Base64_encoded]
これをダウンロードツールのヘッダーにセットして指定のURLへアクセスすればBasic認証をクリアできます。
ワークフロー全体としては以下の通りとなります。
サンプルワークフローダウンロード
※Designer 2023.1.1.306 時点の情報です