プラグ可能トークン・サポート
プラグ可能セキュリティー・トークン・サポートは、トークン生成、トークン妥当性検査、 および Java™ Platform, Enterprise Edition (Java EE) 許可エンジンで使用される WebSphere® Application Server ID へのクライアント ID へのマッピングを含め、 顧客のセキュリティー・トークン・タイプをサポートするプラグイン・ポイントを提供します。さらに、プラグ可能トークン生成および妥当性検査フレームワークは、XML ベースのトークンを Web サービス・メッセージ・ヘッダーに挿入し、受信側で妥当性検査することをサポートします。
WebSphere Application Server ログイン・マッピング・メカニズムを拡張して、 新しいタイプの認証トークンを処理することができます。WebSphere Application Server は、メッセージの送信側でセキュリティー・トークンを生成し、 メッセージの受信側でセキュリティー・トークンを妥当性検査するためのプラグ可能フレームワークを提供します。 このフレームワークは、Java Authentication and Authorization Service (JAAS) アプリケーション・プログラミング・インターフェース (API) を基にしています。
- ユーザー名 (定義されていない場合はストリングまたはヌル)、 パスワード (定義されていない場合は char[] またはヌル)、 および java.util.Map (プロパティーが定義されていない場合は空) を取るコンストラクターを使用します。
- 以下の実装を処理できる handle() メソッドを使用します。
- javax.security.auth.callback.NameCallback
- javax.security.auth.callback.PasswordCallback
- com.ibm.wsspi.wssecurity.auth.callback.XMLTokenCallback
- com.ibm.websphere.security.auth.callback.WSCredTokenCallbackImpl
- javax.security.auth.callback.NameCallback または javax.security.auth.callback.PasswordCallback 実装のいずれかにデータが取り込まれている場合は、 <wsse:UsernameToken> エレメントが作成されます。
- com.ibm.websphere.security.auth.callback.WSCredTokenCallbackImpl にデータが取り込まれている場合は、 com.ibm.websphere.security.auth.callback.WSCredTokenCallbackImpl 実装から <wsse:BinarySecurityToken> エレメントが作成されます。
- com.ibm.wsspi.wssecurity.auth.callback.XMLTokenCallback にデータが取り込まれている場合は、 XMLTokenCallback から戻される Document Object Model (DOM) エレメントを基に XML ベースのトークンが作成されます。
javax.security.auth.callback.CallbackHandler 実装ではなく、 セキュリティー・ハンドラーを使用して、トークン・バイトをエンコードします。
com.ibm.wsspi.wssecurity.auth.callback.CallbackHandlerFactory インターフェースを実装できます。 これは、javax.security.auth.callback.CallbackHandler 実装をインスタンス化するためのファクトリーです。 ユーザー独自の実装の場合は、 javax.security.auth.callback.CallbackHandler インターフェースを提供する必要があります。 Web Services Security ランタイムは、ファクトリー実装クラスをインスタンス化し、setter メソッドを介して Web サービス・メッセージ・ヘッダーからファクトリー・クラスに認証情報を渡します。次に、Web Services Security ランタイムは、ファクトリー実装クラスの newCallbackHandler() メソッドを呼び出して、javax.security.auth.CallbackHandler オブジェクトのインスタンスを取得します。オブジェクトは JAAS ログイン構成に渡されます。
public interface com.ibm.wsspi.wssecurity.auth.callback.CallbackHandlerFactory {
public void setUsername(String username);
public void setRealm(String realm);
public void setPassword(String password);
public void setHashMap(Map properties);
public void setTokenByte(byte[] token);
public void setXMLToken(Element xmlToken);
public CallbackHandler newCallbackHandler();