ユーザー名トークン

<UsernameToken> エレメントを使用して、ユーザー名を伝搬し、また、オプションでパスワード情報を伝搬できます。 また、このトークン・タイプを使用して、基本認証情報を伝送することもできます。 ユーザー名とパスワードは、ともに SOAP メッセージの認証に使用されます。

OASIS: Web Services Security UsernameToken Profile 1.0

ユーザー名を含む UsernameToken は ID アサーションに使用されます。 ID アサーションは、信頼関係に基づいてユーザーの ID を確立します。

以下に、<UsernameToken> エレメントの構文の例を示します。

<wsse:UsernameToken wsu:Id="Example-1">
   <wsse:Username> 
   ... 
   </wsse:Username>
   <wsse:Password Type="..."> 
   ... 
   </wsse:Password>
   <wsse:Nonce EncodingType="..."> 
   ... 
   </wsse:Nonce>
   <wsu:Created> 
   ... 
   </wsu:Created>
</wsse:UsernameToken>

Web Services Security 仕様は、以下のパスワード・タイプを定義します。

http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText (デフォルト)
このタイプはユーザー名の実際のパスワードです。
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest
このタイプは、ユーザー名のパスワードのダイジェストです。 値は、UTF8 エンコード・パスワードの base64 エンコード SHA1 ハッシュ値です。

WebSphere® Application Server は、デフォルトの PasswordText タイプをサポートします。しかし、パスワードのダイジェストはサポートしません。 これは、ほとんどのユーザー・レジストリー・セキュリティー・ポリシーがアプリケーション・ソフトウェアにパスワードを公開しないためです。

以下に、<UsernameToken> エレメントの使用法の例を示します。
<S:Envelope 
       xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"
       xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <S:Header>
            ...
        <wsse:Security>
            <wsse:UsernameToken>
                <wsse:Username>Joe</wsse:Username>
                <wsse:Password>ILoveJava</wsse:Password>
            </wsse:UsernameToken>
 </wsse:Security>
    </S:Header>
</S:Envelope>

OASIS: Web Services Security UsernameToken Profile 1.1

WebSphere Application Server は、Username Token Profile 1.0 およびバージョン 1.1 標準の両方をサポートしています。

WebSphere Application Server は次の機能をサポートしていません。

  • Username Token Profile 仕様の両方のバージョンで、ダイジェスト・パスワード・タイプはサポートされていません。
  • Username Token Profile 仕様の両方のバージョンで、パスワードに基づく鍵の派生はサポートされていません。

ポリシー・セットを使用して、管理コンソールで UsernameToken を構成できます。 また、Web Services Security API を使用してユーザー名トークンを SOAP メッセージに添付できます。次の図は、JAX-RPC および JAX-WS プログラミング・モデルのユーザー名トークンの作成と検証を説明したものです。

JAX-RPC における JAAS ログイン・モジュールと JAAS CallbackHandler を使用したユーザー名トークンの作成と検証

JAX-RPC における JAAS ログイン・モジュールと JAAS CallbackHandler を使用したユーザー名トークンの作成と検証

JAX-WS における JAAS ログイン・モジュールと JAAS CallbackHandler を使用したユーザー名トークンの作成と検証

JAX-WS における JAAS ログイン・モジュールと JAAS CallbackHandler を使用したユーザー名トークンの作成と検証

注: WSS API は、Java™ API for XML-Based Web Services (JAX-WS) プログラミング・モデルを使用している場合にのみ使用できます。

ジェネレーター側で、JAAS LoginModule を使用してユーザー名トークンを作成し、JAAS CallbackHandler を使用して認証データを送ります。 JAAS LoginModule は UsernameToken オブジェクトを作成し、それを Web Service Security ランタイムに渡します。

コンシューマー側で、Username Token XML フォーマットは JAAS LoginModule に渡されて検証または認証され、JAAS CallbackHandler を使用してその認証データが Web Service Security ランタイムから JAAS LoginModule に渡されます。トークンが認証されたら、UsernameToken オブジェクトが作成され、Web Services Security のランタイムに渡されます。

以下の例では、ユーザー名トークンを作成するサンプル・コードが示されます。

WSSFactory factory = WSSFactory.getInstance();
   WSSGenerationContext gencont = factory.newWSSGenerationContext();
	
// Attach the username token to the message.
   UNTGenerationCallbackHandler ugCallbackHandler = 
      newUNTGenerationCallbackHandler("alice", "ecila");
   SecurityToken ut = factory.newSecurityToken(ugCallbackHandler, 
                                               UsernameToken.class);
   gencont.add(ut);

// Generate the WS-Security header
gencont.process(msgctx);

トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_usernametokenv6
ファイル名:cwbs_usernametokenv6.html