Jeton de nom d'utilisateur

Vous pouvez utiliser un élément <UsernameToken> pour propager un nom d'utilisateur et, éventuellement, des informations de mot de passe. Vous pouvez également utiliser ce type de jeton pour prendre en charge les informations d'authentification de base. Un nom d'utilisateur et un mot de passe permettent d'authentifier le message SOAP.

OASIS: Web Services Security UsernameToken Profile 1.0

Un élément UsernameToken contenant le nom d'utilisateur est utilisé dans la vérification d'identité. Cette dernière établit l'identité de l'utilisateur en fonction de la relation de confiance.

L'exemple suivant affiche la syntaxe de l'élément <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>

La spécification de la sécurité des Services Web définit les types de mot de passe suivants :

http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText (default)
Ce type correspond au mot de passe réel du nom d'utilisateur.
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest
Ce type correspond à la synthèse du mot de passe du nom d'utilisateur. La valeur est une valeur hachée SHA1 codée en base 64 du mot de passe codé en UTF8.

WebSphere Application Server prend en charge le type PasswordText qui est le type par défaut. Toutefois, il ne prend pas en charge la synthèse des mots de passe car la plupart des règles de sécurité du registre utilisateur n'exposent pas le mot de passe au logiciel de l'application.

L'exemple suivant illustre l'utilisation de l'élément <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 prend en charge les deux versions du standard Username Token Profile : 1.0 et 1.1.

WebSphereApplication Server ne prend pas en charge les fonctions suivantes :

  • Dans les deux versions de la spécification Username Token Profile, le type digest password n'est pas pris en charge.
  • Dans les deux versions de la spécification Username Token Profile, la dérivation de clé en fonction d'un mot de passe n'est pas prise en charge.

Vous pouvez utiliser des ensembles de règles pour configurer UsernameToken à l'aide de la console d'administration. Vous pouvez également utiliser les API de Web Services Security pour rattacher le jeton Username au message SOAP. La figure suivante décrit la création et la validation du jeton Username pour les modèles de programmation JAX-RPC et JAX-WS :

Création et validation du jeton Username à l'aide du module de connexion JAAS et du gestionnaire d'appel JAAS dans JAX-RPC

Création et validation du jeton Username à l'aide du module de connexion JAAS et du gestionnaire d'appel JAAS dans JAX-RPC

Création et validation du jeton Username à l'aide du module de connexion JAAS et du gestionnaire d'appel JAAS dans JAX-WS

Création et validation du jeton Username à l'aide du module de connexion JAAS et du gestionnaire d'appel JAAS dans JAX-WS

Remarque : L'API WSS est disponible uniquement si vous utilisez le modèle de programmation JAX-WS (Java™ API for XML-Based Web Services).

Côté générateur, le jeton Username est créé à l'aide de JAAS LoginModule, puis JAAS CallbackHandler sert à transmettre les données d'authentification. Le module de connexion JAAS crée l'objet UsernameToken et le transmet au module d'exécution WSS.

Côté destinataire, le format XML Username Token est transmis au module de connexion JAAS pour validation ou authentification, puis le gestionnaire d'appel JAAS permet de transmettre les données d'authentification du module d'exécution WSS au module de connexion JAAS. Une fois le jeton authentifié, un objet UsernameToken est créé et transmis au module d'exécution Web Service Security.

L'exemple suivant fournit un exemple de code pour la création de jetons Username :

WSSFactory factory = WSSFactory.getInstance();
   WSSGenerationContext gencont = factory.newWSSGenerationContext();
	
// Rattache le jeton de Username au message.
   UNTGenerationCallbackHandler ugCallbackHandler = 
      newUNTGenerationCallbackHandler("alice", "ecila");
   SecurityToken ut = factory.newSecurityToken(ugCallbackHandler, 
                                               UsernameToken.class);
   gencont.add(ut);

// Génère l'en-tête WS-Security
gencont.process(msgctx);

Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_usernametokenv6
Nom du fichier : cwbs_usernametokenv6.html