Session multi-domaine

Romain Prouvensier · le 30/09/13 à 14:46

Bonjour,

Dans le cadre d'évolution pour un de nos clients, nous disposons actuellement d'une webapp comprenant plusieurs sites :
- http://www.XXX.XXX.fr
- http://www.XXX.XXX.be
- http://www.XXX.XXX.uk
- http://www.XXX.XXX.es
- http://www.XXX.XXX.com

Chaque site correspond en fait à un espace de travail, et pour des raisons de référencement, ces sites ne disposent pas du même nom de domaine.
Sur chaque site l'utilisateur peut se connecter et accéder via une liste déroulante à n'importe quel autre site.
Le problème actuel est que l'utilisateur perd son authentification lorsqu'il change de domaine ( ce qui est logique, les cookies d'authentification ne supporte pas le multi domaines).
L'idée serait de développer une servlet (ou autres composants) permettant à l'utilisateur de rester connecter lorsqu'il change de site.

Avez-vous des pistes de développements à ce sujet?

Merci d'avance,

Cordialement,

Romain,

Mots-clés Développement
4 pts
Nicolas Donato · le 30/09/13 à 15:39

Bonjour,

 

Vous avez pour cela un module chez Jalios (http://community.jalios.com/jcms/jx_69959/fr/module-jcms-sso-12) qui permet de gérer des ticket SSO entre les webapps.

La webapp principale qui fait l'authentification et les autres webapp qui regarde le ticket SSO que fournit le client.

0 pt
Yvan Janet · le 30/09/13 à 16:33

Le problème est effectivement lié aux questions de transmission des cookies en mode crossdomain... Le module JCMS SSO (d'après la documentation en tout cas) utilise un cookie de domaine qui est vérifié auprès d'un serveur d'authentification sur le même domaine (example.com). Ce module répond seulement à une partie du problème.

Pour que l'authentification puisse fonctionner, il faut permettre un fonctionnement comme ceci (schéma de principe) :

1 -- Demande d'une page -->  
<-- Redirection vers le fournisseur d'identité --  
2 -- Envoi des authentifiants au fournisseur d'identité -->
  Vérification de l'authentification
  Création d'un jeton à usage unique
<-- Envoi du jeton à usage unique et redirection vers la page demandée --
3 -- Demande de la page avec le jeton à usage unique -->  
  -- Vérification du jeton à usage unique -->
    Consommation du jeton
  <-- Envoi des informations relatives à l'utilisateur authentifié
  Initialisation de la session locale  
<-- Envoi des informations avec le token de session locale --  
4 -- Demande d'une page avec le token de session locale -->  
<-- Envoi des informations demandées --  
5 -- Demande de fermeture de session -->  
  -- Demande de fermeture de session -->
    Fermeture de session
  <-- Accusé de fermeture de session --
  Fermeture de session  
<-- Accusé de fermeture de session --  

Ceci pourrait être pris en charge par JCMS dans une nouvelle version du plugin SSO si celui-ci ne prend pas déjà ceci en charge ...

#1

bon, dommage, l'image que j'ai collée pour illustrer mon propos n'est pas passée ...

Yvan Janet · le 30/09/13 à 16:36
0 pt