Les informations suivantes décrivent comment configurer un jeton connectable à l'aide d'un outil d'assemblage.
Avant de commencer
Important : Il existe une différence importante entre les applications
version 5.x, version 6 ou ultérieure.
Les informations concernent uniquement les applications
Version 5.x utilisées avec WebSphere Application
Server Version 6.0.x et versions ultérieures. Les informations ne s'appliquent pas aux applications version 6.0.x et versions ultérieures.
Le présent document explique comment configurer un jeton connectable dans les données de l'émetteur de la requête (fichier ibm-webservicesclient-ext.xmi et ibm-webservicesclient-bnd.xmi)
et les données de destinataire de la demande (fichier ibm-webservices-ext.xmi et ibm-webservices-bnd.xmi).
Le jeton connectable est requis pour l'expéditeur et le destinataire de la réponse car ils fonctionnent par paire. Les données de l'expéditeur et du destinataire de la demande doivent concorder pour que la demande soit acceptée par le destinataire.
Avant d'exécuter cette procédure,
vous devez créer un service Web basé sur la spécification Java™ EE (Java Platform,
Enterprise Edition). Pour savoir comment gérer les informations de liaison de sécurité de services Web pour le serveur, voir :
Pourquoi et quand exécuter cette tâche
A l'aide d'un outil d'assemblage IBM®, vous devez indiquer
les contraintes de sécurité dans les fichiers ibm-webservicesclient-ext.xmi et
ibm-webservices-ext.xmi pour les jetons requis.
Pour configurer l'expéditeur de la demande à l'aide des fichiers ibm-webservicesclient-ext.xmi et ibm-webservicesclient-bnd.xmi, procédez comme suit :
Procédure
- Lancez un outil d'assemblage. Pour plus d'informations, reportez-vous à la rubrique relative aux outils d'assemblage.
- Passez à la perspective Java EE. Cliquez sur .
- Cliquez sur .
- A l'aide du bouton droit de la souris, cliquez sur le fichier
application-client.xml et sélectionnez .
- Cliquez sur l'onglet Extension WS. L'éditeur correspondant s'affiche.
- Dans la section Références de service, sélectionnez une référence de service existante ou
cliquez sur Ajouter pour en créer une.
- Dans la section Liaisons Qname de port, sélectionnez un nom complet de port pour la référence de service choisie ou cliquez sur Ajouter pour créer une liaison de nom de port.
- Dans la section Configuration d'expéditeur de requête : Configuration de connexion, sélectionnez une méthode d'authentification existante ou entrez une nouvelle méthode d'authentification dans la liste. (LTPA est pris en charge pour la génération de jetons lorsque les services web assurent la fonction de client.)
- Cliquez sur pour enregistrer les modifications.
- Cliquez sur l'onglet Liaison de client de services Web. L'éditeur correspondant s'affiche.
- Dans la section Liaison de nom qualifié de port, sélectionnez une
entrée ou cliquez sur Ajouter pour ajouter une nouvelle liaison de nom de
port. L'éditeur Liaison de client de services web s'affiche pour le port
sélectionné.
- Dans la section Liaison de connexion, cliquez sur Editer ou Activer. La boîte de dialogue de liaison de connexion s'affiche.
- Dans la zone Méthode d'authentification, entrez la méthode d'authentification.
La
méthode d'authentification entrée dans cette zone correspond à celle dans l'onglet
Extension de sécurité pour le même port de service web. Cette zone est obligatoire.
- (Facultatif) Entrez les informations relatives au type de valeur de jeton dans
les zones URI et Nom local. Ces zones sont ignorées pour les méthodes d'authentification BasicAuth, Signature et IDAssertion mais elles sont obligatoires pour les autres méthodes d'authentification. Les informations relatives au type de jeton sont insérées dans l'élément <wsse:BinarySecurityToken>@ValueType pour le jeton de sécurité binaire et sont utilisées comme espace de noms pour le jeton XML.
- Entrez une implémentation de l'interface JAAS (Java Authentication and Authorization Service)
javax.security.auth.callback.CallbackHandler.
Cette zone est obligatoire.
- Entrez les informations d'authentification de base dans les zone ID
utilisateur et Mot de passe. Les informations d'authentification de base sont transmises au bloc de construction de l'implémentation CallbackHandler.
L'utilisation des informations d'authentification de base dépend de
l'implémentation de CallbackHandler.
- Dans la zone Propriété, ajoutez des paires nom-valeur. Ces paires sont
transmises au bloc de construction de l'implémentation CallbackHandler
en tant que java.util.Map.
- Cliquez sur
OK.
Cliquez sur Désactiver sous Liaison de connexion dans l'onglet Liaison
de port du client de services Web pour supprimer la liaison de
connexion de la méthode d'authentification.
- Cliquez sur pour enregistrer les modifications.
- Dans la fenêtre Packages, cliquez sur le fichier webservices.xml
à l'aide du bouton droit de la souris puis sélectionnez . La fenêtre Services Web s'affiche.
- Cliquez sur l'onglet Extensions de sécurité. L'éditeur
Extensions de sécurité de services Web s'affiche.
- Dans la section Extension de description de service Web, sélectionnez une référence de service ou cliquez sur Ajouter pour créer une extension.
- Dans la section Liaison de composant de port, sélectionnez un nom complet de port pour la référence de service choisie ou cliquez sur Ajouter pour en créer un nouveau.
- Dans la section Détails de configuration du service réceptionnaire de requête, sélectionnez une méthode d'authentification ou cliquez sur Ajouter puis entrez une nouvelle méthode d'authentification
dans la zone Add AuthMethod qui s'affiche. Vous pouvez sélectionner plusieurs méthodes d'authentification pour le réceptionnaire de la requête. Le jeton de sécurité de message entrant est authentifié par les méthodes d'authentification dans l'ordre dans lequel elles apparaissent dans la liste. Cliquez sur Supprimer pour supprimer une ou plusieurs méthodes d'authentification.
- Cliquez sur pour enregistrer les modifications.
- Cliquez sur l'onglet Liaisons. L'éditeur Liaisons de services web
s'affiche.
- Sous Liaisons de description de service web, sélectionnez une entrée existante
ou cliquez sur Ajouter pour ajouter un nouveau descripteur de services web.
- Cliquez sur l'onglet Configurations de liaison. L'éditeur de configurations de liaisons de services web est affiché pour le descripteur de services Web sélectionnés.
- Dans la section Détails de configuration de liaison de réceptionnaire de requête
: Mappage de connexion, cliquez sur Ajouter pour créer un mappage de
connexion ou sur Editer pour modifier le mappage de connexion sélectionné.
La boîte de dialogue Mappages de connexion s'affiche.
- Dans la zone Méthode d'authentification, entrez la méthode d'authentification.
Les
informations entrées dans cette zone doivent correspondre à la méthode
d'authentification définie dans l'onglet Extensions de sécurité pour le
même port de service Web. Cette zone est obligatoire.
- Dans la zone Nom de configuration, entrez un nom de configuration de
connexion JAAS. Cette zone est obligatoire. Vous
devez définir le nom de configuration de connexion JAAS dans la console d'administration WebSphere Application Server,
section . Sous Authentification, cliquez sur . Pour plus d'informations, reportez-vous à la rubrique Configuration de connexions par programmation pour JAAS (Java Authentication and Authorization
Service).
- (Facultatif) Sélectionnez Utiliser le type de valeur de jeton et entrez les informations correspondantes dans les zones URI et Nom local.
Cette valeur est facultative pour les méthodes d'authentification BasicAuth, Signature et IDAssertion mais elle est obligatoire pour toutes les autres méthodes d'authentification. Le type de jeton est utilisé pour valider l'élément
<wsse:BinarySecurityToken>@ValueType pour les jetons de sécurité binaire et valider l'espace de noms du jeton XML.
- Dans la section Fabrique de gestionnaire des rappels, entrez une implémentation
de l'interface com.ibm.wsspi.wssecurity.auth.callback.CallbackHandlerFactory dans la
zone Nom de classe. Cette zone est obligatoire.
- Dans la section de propriété Fabrique de gestionnaire des rappels, cliquez sur Ajouter et entrez les paires nom-valeur de la propriété.
Ces paires nom-valeur sont transmises sous la forme java.util.Map à la méthode com.ibm.wsspi.wssecurity.auth.callback.CallbackHandlerFactory.init().
L'utilisation de ces paires nom-valeur dépend de l'implémentation de CallbackHandlerFactory.
- Dans la section Propriétés du mappage de connexion, cliquez sur Ajouter et entrez les paires nom-valeur de la propriété de mappage de connexion. Les modules de connexion JAAS peuvent accéder à ces paires nom-valeur à l'aide de l'interface des rappels JAAS com.ibm.wsspi.wssecurity.auth.callback.PropertyCallback. Cliquez sur Supprimer pour supprimer le mappage de connexion sélectionné.
- Cliquez sur
OK.
- Cliquez sur pour enregistrer les modifications.
Résultats
Les précédentes étapes déterminent comment configurer
l'émetteur de la demande pour créer des jetons de sécurité dans le message SOAP,
ainsi que pour configurer le récepteur de la demande en vue de valider les jetons de
sécurité figurant dans le message SOAP entrant. WebSphere Application
Server prend en charge les jetons de sécurité connectables.
Vous pouvez utiliser la méthode d'authentification définie dans les liaisons de connexion et les mappages de connexion pour générer les jetons de sécurité dans l'expéditeur de la requête et valider les jetons de sécurité dans le réceptionnaire de la requête.
Que faire ensuite
Une fois les jetons connectables configurés, vous devez configurer le client et le serveur pour qu'ils prennent tous deux en charge ce type de jeton.
Pour configurer le client et le serveur, voir :