Bonjour à tous et à plg en particulier car étant l'auteur du plugin User_mass_regsiter (mais tout le monde peut participer ^^).
Je me débat, depuis un moment et sans succès, pour que le plugin Register_FluxBB puisse fonctionner avec user_mass_register. Quelques explications sur la problématique :
- Register_FluxBB permet de lier les inscriptions d'utilisateurs entre une galerie et un forum FluxBB tout en conservant des tables d'utilisateurs distinctes entre les deux appli. Je m'appuie sur le trigger "register_user" pour gérer les ajouts de nouveaux utilisateurs dans ces deux tables. Outre le login et l'email, le mot de passe en clair est récupéré avant hash pour être injecté dans FluxBB (qui n'utilise pas le même système de hash que Piwigo).
- user_mass_register permet d'importer massivement de nouveau utilisateurs dans Piwigo. Le login est soit auto-généré (basé sur l'adresse email), soit défini par l'admin. Le mot de passe est généré arbitrairement (generate_key(8)) par le plugin qui envoie le tout (login, email, mot de passe généré) à chaque utilisateur ainsi ajouté.
Ce qui pose problème, c'est le mot de passe généré par user_mass_register. Je n'ai pas trouvé de possibilité de l'intercepter avant qu'il ne soit crypté pour pouvoir l'injecter dans la table users de FluxBB.
Existerait-il une solution qui m'aurait échappée ?
Hors ligne
Bonjour,
Pourquoi tu ne fait pas utiliser à Piwigo le même hash que FluxBB ?
Hors ligne
J'y ai pensé mais cela pose 2 problèmes :
- FluxBB utilise SHA1 ou MD5. Les deux cas sont possibles et traités. Piwigo ne sait pas faire.
- Comment gérer alors pour une galerie comportant déjà des utilisateurs ?
Hors ligne
Eric a écrit:
- Comment gérer alors pour une galerie comportant déjà des utilisateurs ?
le problème est le même si tu intercepte pour transmettre en clair le mots de passe tu ne peux pas le faire pour les anciens utilisateurs ?
Hors ligne
Actuellement, sur nouvelle inscription d'un utilisateur, création d'un utilisateur par un admin ou modification du mot de passe par l'utilisateur (via son profil de galerie), j'intercepte le mot de passe en clair pour le "hasher" en SHA1 avant de l'envoyer dans la table users de FluxBB.
Pour les utilisateurs déjà inscrits dans Piwigo ou FluxBB (on peut maintenant récupérer des comptes existants dans un forum), j'ai codé une fonction de synchronisation qui force la réinitialisation du mot de passe Piwigo avec envoi d'un email à l'utilisateur pour l'informer qu'il doit modifier son mot de passe. Du coup, lorsque l'utilisateur en question effectue l'opération sur son profil de galerie, il initie sans le savoir une resynchronisation des mots de passes avec le forum toujours en interceptant le mot de passe en clair.
Tout ceci fonctionne très bien. Mais dans le cadre d'un ajout d'utilisateurs via user_mass_register, ce n'est pas possible. Ce plugin envoie déjà un email aux utilisateurs ajouté avec le mot de passe généré. Je me vois mal renvoyer un nouvel email aux mêmes utilisateurs après réinitialisation de ce mot de passe. Ils vont être totalement perdus : Quel est le bon mot de passe initial ? Celui du premier mail ? Du second ? Etc...
C'est là que je bloque...
Hors ligne