Utilisation d'une API WebSphere Application Server pour établir une connexion unique Web en aval à l'aide d'un cookie LtpaToken2

Vous pouvez exécuter, à l'aide d'un programme, une propagation Web SSO (Single Sign On) en aval d'un cookie LTPA (Lightweight Third Party Authentication), sans qu'il soit nécessaire qu'une application stocke et envoie les données d'identification de l'utilisateur.

WebSphere Application Server permet la prise en charge d'une API pour propager un cookie LtpaToken2 aux applications de connexion unique Web en aval.

Les applications Web exécutées sur des serveurs WebSphere de niveau moyen ont peut-être besoin de propager des cookies LtpaToken2 lors d'appels Web en aval. Dans cette édition de WebSphere Application Server, une nouvelle interface de programmation d'application (API) est fournie pour que les développeurs d'application effectuent une connexion unique en aval, à l'aide d'un programme, sans qu'il soit nécessaire qu'une application stocke et envoie les données d'identification de l'utilisateur.

Figure 1. Utilisation de l'API de cookie LTPA pour l'authentification en avalUtilisation de l'API de cookie LTPA pour l'authentification en aval
Cette fonction est une API publique dans le package com.ibm.websphere.security.WSSecurityHelper et est définie comme suit :
/**
   * Extrait un jeton sso LTPA du sujet de l'unité d'exécution en cours
   * et génère un cookie ltpa à utiliser au niveau
   * des appels Web en aval. 
   * Lorsque la valeur envoyée n'est pas NULL, utilisez les méthodes
   * de cookies getName() et getValue() pour définir l'en-tête du cookie
   * sur une demande http dont la valeur d'en-tête est
   * Cookie.getName()=Cookie.getValue()
   *
   * @return an object of type javax.servlet.http.Cookie. 
   * 
   */
Voici un exemple de la façon dont vous pouvez utiliser la nouvelle API WSSecurityHelper :
import javax.servlet.http.Cookie;
import com.ibm.websphere.security.WSSecurityHelper;

Cookie ltpaCookie = WSSecurityHelper.getLTPACookieFromSSOToken()
Fonction obsolète Fonction obsolète: La méthode getLTPACookieFromSSOToken() de la classe WSSecurityHelper est obsolète. Utilisez la fonctionnalité fournie par la méthode getSSOCookieFromSSOToken() de la classe WebSecurityHelper.depfeat
Par la suite, le cookie LTPA peut être défini sur un en-tête de demande HTTP. Dans ce cas, la valeur de l'en-tête de cookie est la chaîne suivante :
ltpaCookie.getName()=ltpaCookie.getValue()
Par exemple, si vous utilisez org.apache.commons.httpclient.HttpMethod pour générer votre demande HTTP, le cookie LTPA peut être défini comme suit :
HttpMethod method = .;  // votre nouvelle méthode HttpMethod basée sur
                        // l'URL cible de l'application Web
if (ltpaCookie != null)
     method.setRequestHeader(“Cookie”, ltpaCookie.getName()+”=”+ltpaCookie.getValue());
Remarque : Vous devez envoyer les cookies LTPA uniquement sur des connexions SSL.
Remarque : Vous devez vérifier si le cookie LTPA renvoyé de l'appel de WSSecurityHelper.getLTPACookieFromSSOToken() dans l'exemple précédent n'a pas pour valeur null, avant d'émettre des méthodes getter. De même, pour extraire correctement un objet de cookie LTPA et pour assurer un jeton SSO sur l'unité d'exécution, vérifiez que l'utilisateur a établi une authentification réussie avec le serveur de niveau moyen.
Remarque : WebSphere Application Server n'envoie pas de fichiers jar de prise en charge pour la programmation HTTP, par exemple Apache httpclient. Vous devez fournir vos propres fonctions de prise en charge pour la programmation HTTP.

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=csec_sso_down
Nom du fichier : csec_sso_down.html