LTPA (Lightweight Third Party Authentication)
Lorsque vous utilisez la méthode LTPA (Lightweight Third Party Authentication), le jeton de sécurité <wsse:BinarySecurityToken> est généré. Au niveau de l'expéditeur de la demande, le jeton de sécurité est généré par l'invocation d'un gestionnaire d'appel. Au niveau du destinataire de la demande, le jeton de sécurité est validé par un module de connexion JAAS (Java™ Authentication and Authorization Service).
Les informations ci-après décrivent les opérations de génération et de validation de jeton.
- Génération de jeton LTPA
- L'expéditeur de la demande utilise un gestionnaire d'appel pour générer un jeton de
sécurité LTPA. Le gestionnaire d'appel renvoie un jeton de sécurité inséré dans le message
SOAP. Indiquez le gestionnaire d'appel approprié dans l'élément <LoginBinding> du fichier
de liaisons (ibm-webservicesclient-bnd.xmi).
L'implémentation de gestionnaire d'appel suivante peut être utilisée avec la méthode d'authentification LTPA :
- com.ibm.wsspi.wssecurity.auth.callback.LTPATokenCallbackHandler
Vous pouvez ajouter vos propres gestionnaires d'appel qui implémentent la propriété javax.security.auth.callback.CallbackHandler.
Lors de l'utilisation de la méthode d'authentification LTPA (ou toute méthode d'authentification autre que BasicAuth, Signature ou IDAssertion), l'attribut TokenValueType de l'élément <LoginBinding> du fichier de liaisons (ibm-webservicesclient-bnd.xmi) doit être indiqué. Les valeurs à utiliser pour l'attribut LTPA TokenValueType sont :- uri="http://www.ibm.com/websphere/appserver/tokentype/5.0.2"
- localName="LTPA"
- Validation du jeton LTPA
- Le destinataire de la demande extrait le jeton de sécurité LTPA du message SOAP
et valide le message à l'aide d'un module de connexion JAAS.
Le jeton de sécurité <wsse:BinarySecurityToken>
permet d'effectuer la validation. Si la validation
aboutit, le module de connexion renvoie un sujet JAAS. Ce sujet est ensuite défini en tant
qu'identité de l'unité d'exécution. Si la validation n'aboutit pas, la demande
est rejetée avec une erreur SOAP.
La configuration de connexion JAAS à utiliser est indiquée dans l'élément <LoginMapping> du fichier de liaisons. Des liaisons par défaut sont définies dans le fichier ws-security.xml mais elles peuvent être remplacées à l'aide du fichier ibm-webservices-bnd.xmi spécifique à l'application. Les informations de configuration sont composées des éléments CallbackHandlerFactory et ConfigName et d'un attribut TokenValueType. L'élément CallbackHandlerFactory définit le nom d'une classe utilisée pour la création d'un objet CallbackHandler JAAS. Une implémentation CallbackHandlerFactory est fournie (com.ibm.wsspi.wssecurity.auth.callback.WSCallbackHandlerFactoryImpl). L'attribut ConfigName définit une entrée de nom de configuration JAAS. L'environnement d'exécution de la sécurité des services Web recherche dans le fichier security.xml une entrée correspondante et si la recherche n'aboutit pas, l'environnement d'exécution effectue cette même recherche dans le fichier wsjaas.conf. Une entrée de configuration par défaut convenant à la méthode d'authentification LTPA est fournie (WSLogin). Un élément TokenValueType approprié se trouve dans la section LTPA LoginMapping du fichier ws-security.xml par défaut.