サポートされるHTTP認証方法について

Biz/Browser DT上でHTTP、HTTPS通信を行う際、接続先の設定によっては認証が必要となることがあります。

Biz/Browser DTで使用可能なHTTP認証方法は下記のとおりです。


認証方法

利用可否

BASIC認証

ダイジェスト認証

△(※1)

統合Windows認証(IWA)

Proxy認証

SAML認証(SP-initiated)

※1 : IISサーバでのダイジェスト認証はサポートしていません。

BASIC認証

HTTPで定義される認証方式の一つです。

IDとパスワードをBase64でエンコードして送信する為、盗聴すれば簡単にIDとパスワードが分かってしまう欠点があります。

ダイジェスト認証

BASIC認証の平文でパスワードを送信する欠点を改善した認証方式で、IDとパスワードをハッシュ化して送信します。

統合Windows認証(Integrated Windows Authentication:IWA)

Windowsコンピュータで稼働しているIISサーバとWebブラウザ(IEおよびEdge)の間でのみ利用できるものです。

Windowsのユーザーアカウント情報を利用して認証を行います。


通信経路上にHTTPプロキシがある場合、これを通過して認証することはできないという制約があります。

Proxy認証

プロキシサーバを経由する通信時、サーバから要求される認証です。

SAML認証

SAML認証とは、「Security Assertion Markup Language」の略称で異なるインターネットドメイン間でユーザーの認証を行うための、XMLベースの認証方式です。

主にシングルサインオン(SSO)の認証に用いられています。

Biz/Browserでの認証処理(SAML認証以外)

Biz/Browserからサーバに対してHTTP通信を行う際、サーバから認証を求められた際に自動的に認証ダイアログが表示されます。

通信を継続するためにはユーザ、パスワードをダイアログに入力する必要があります。


../_images/auth_dialog.png

認証が成功した場合、ユーザ、パスワードは記憶され、次回の通信からは認証ダイアログは表示されません。

認証情報はコンテキスト(タブ)単位で記憶され、Application.loginメソッドが実行されるまで保持されます。

Biz/Browserでの認証処理(SAML認証)

SAML認証自体はBiz/Browserの機能ではなくIdP(Identity Provider)と呼ばれるサーバがユーザーの認証情報を提供し、SP(Service Provider)と呼ばれるサーバがユーザーの認証情報を利用します。

Biz/BrowserはIdPの認証情報をSPに受け渡すことで、SPを認証完了とします。
SAML認証はSPを起点とするSP-initiatedとIdPを起点とするIdP-initiatedの2つのフローがありますが、現在Biz/BrowserでサポートされているのはSP-initiatedのみとなります。
Biz/BrowserはSPの要認証リソース(URL)へアクセスを行った際、HTTPレスポンスのSAML要求を自動的に感知しSAML認証モードに遷移します。

内部的にIdPへのリダイレクト処理を行い、IdPの認証画面を表示します。認証が完了した後、自動的にSPへの通信へ復帰します。


※現在SPとしてApache(mod_auth_mellon)、IdPとしてOktaのみ検証を行っています。

※SPをApache(mod_auth_mellon)で構築し、HTTPSではなくHTTPプロトコルで通信を行う場合、mod_auth_mellonの設定(cookieへSameSiteを付加しない)が必要となる場合があります。

URLでの認証

Biz/BrowserではURLの次の構文がサポートされています。

http(s)://username:password@server/resource.ext

このURL構文を使用すると、認証を要求するWebサイトにユーザー情報を自動的に送信できます。

var sess = HttpSession.findSession("https://authenticationtest.com");
var res = sess.get("https://user:pass@authenticationtest.com/HTTPAuth");