LTPA (Lightweight Third Party Authentication)
Lightweight Third Party Authentication (LTPA) メソッドを 使用すると、<wsse:BinarySecurityToken> セキュリティー・トークンが生成されます。 要求送信側では、コールバック・ハンドラーを起動してセキュリティー・トークンを生成します。 要求受信側では、Java™ Authentication and Authorization Service (JAAS) ログイン・モジュールでセキュリティー・トークンを検証します。
以下の情報では、トークンの生成操作と検証操作について説明します。
- LTPA トークンの生成
- 要求送信側は、コールバック・ハンドラーを使用して LTPA セキュリティー・トークンを生成します。
コールバック・ハンドラーが戻すセキュリティー・トークンは、
SOAP メッセージに挿入されます。
バインディング・
ファイル (ibm-webservicesclient-bnd.xmi) の <LoginBinding> エレメントで、
適切なコールバック・ハンドラーを指定してください。
LTPA 認証方式では、
以下のコールバック・ハンドラー実装が使用できます。
- com.ibm.wsspi.wssecurity.auth.callback.LTPATokenCallbackHandler
javax.security.auth.callback.CallbackHandler プロパティーを実装する独自のコールバック・ハンドラーを追加することもできます。
LTPA 認証方式 (または、BasicAuth、Signature、IDAssertion 以外の 認証方式) を使用する場合は、 バインディング・ファイル (ibm-webservicesclient-bnd.xmi) に 含まれる <LoginBinding> エレメントの TokenValueType 属性を 指定する必要があります。 LTPA TokenValueType 属性に使用できる値は次のとおりです。- uri="http://www.ibm.com/websphere/appserver/tokentype/5.0.2"
- localName="LTPA"
- LTPA トークンの検証
- 要求受信側は、SOAP メッセージから LTPA セキュリティー・トークンを取得し、
JAAS ログイン・モジュールを使用してそのメッセージを検証します。
検証を実行するには、
セキュリティー・トークン <wsse:BinarySecurityToken> を使用します。
検証に成功すると、ログイン・モジュールは JAAS サブジェクトを戻します。続いて、
このサブジェクトが実行スレッドの ID として設定されます。
検証に失敗した場合は
、SOAP 障害が発生して、要求はリジェクトされます。
使用に適した JAAS ログイン構成は、 バインディング・ファイルの <LoginMapping> エレメントで指定します。 デフォルトのバインディングは、ws-security.xml ファイルで指定されていますが、 アプリケーション固有の ibm-webservices-bnd.xmi を使用してオーバーライドすることができます。 構成情報は、CallbackHandlerFactory、ConfigName、 および TokenValueType 属性で構成されています。 CallbackHandlerFactory は、JAAS CallbackHandler オブジェクトの作成に使用されるクラスの名前を指定します。 CallbackHandlerFactory 実装が提供されます (com.ibm.wsspi.wssecurity.auth.callback.WSCallbackHandlerFactoryImpl)。 ConfigName 属性は、JAAS 構成名エントリーを指定します。 Web サービスのセキュリティー・ランタイムは、まず security.xml ファイルで一致するエントリーを検索し、一致するエントリーが見つからない場合は、wsjaas.conf ファイルを実行時に検索します。 LTPA 認証方式に適したデフォルトの構成エントリーが提供されます (WSLogin)。 該当する TokenValueType エレメントは、 デフォルト・ファイル ws-security.xml の LTPA LoginMapping セクションにあります。