Accéder au contenu.
Menu Sympa

fr - [sympa-fr] Authentification à Sympa par cookie

Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa

Archives de la liste

Chronologique Discussions  
  • From: adresse@cachée
  • To: adresse@cachée
  • Subject: [sympa-fr] Authentification à Sympa par cookie
  • Date: Tue, 19 Jul 2005 14:06:32 +0200

Bonjour,

Je pense que le message que je nous ai adressé hier midi ne vous soit pas
parvenu.
Depuis, j'ai un peu avancé.
voici le contenu de mon message actualisé par de nouveaux éléments :

Nous avons installé SYMPA sur notre serveur et souhaitons intégrer l'accès à
l'interface dans notre site web (PHP, MySQL) sans que l'utilisateur connecté
à

notre site s'authentifie à nouveau sur l'interface SYMPA.

Aujourd'hui, nous avons réussi les actions suivantes :
1 - Authentification sur l'interface Sympa avec un compte précis
2 - Accès à l'interface sympa sans authentification à partir du browser :
Accès
direct grâce aux cookies sympauser, altemails et your_subscriptions sur le PC

lors de l'étape précédente
3 - Accès à l'interface sympa sans authentification à partir d'un lien de
notre
site dans une nouvelle fenêtre : idem
4 - Accès à l'interface sympa sans authentification après génération du cookie
sympauser par la fonction set_cookie en initialisant la valeur avec la

"checksum" du cookie créé lors de l'action n°1 ci-dessus en nous appuyant sur
la documentation en anglais ( Sympa - Mailing Lists Management Software du 3

juin 2004, 9.6 Sharing WWSympa authentication with another applications).

Pour permettre à un utilisateur authentifié sur notre site, nous devons
recréer
cette checksum en PHP dans nos scripts afin de générer le cookie correct.
- Nous avons identifié le paramètre de configuration de cookie de sympa et sa
localisation dans le fichier cookie.history
- Nous avons identifié et vérifié la méthode de génération du cookie :
fonction
get_mac() du package perl cookielib.pm :
- Création d'un objet $md5 de la classe Digest::MD5
- Reset de l'objet $md5
- Utilisation de la méthode add() de l'objet $md5 avec en paramètre
$email.$secret
- Renvoi de la valeur de substr( unpack("H*", $md5->digest) , -8 )
- Nous avons identifié la méthode _HMAC_MD5() de la classe PHP
Auth_SASL_DigestMD5 (héritée de Auth_SASL_Common) contenue dans le script
DigestMD5.php qui

semble faire la même chose en PHP, sans succès : la valeur de retour est bien
une chaîne hexadécimale sur 16 bytes (32 caractères) mais ne correspond pas à

la chaîne générée par la méthode Perl get_mac().

Pouvez-vous nous aider à générer cette checksum en PHP ?

Merci d'avance pour votre aide.

Cordialement,

Christophe BARIL



Archives gérées par MHonArc 2.6.19+.

Haut de le page