Hook suite au changement de mot de passe

4.0
Hook suite au changement de mot de passe
0
Tags: #<Tag:0x00007f5fedd1f818>
(Sébastien Hardy) #1

Existe-t-il un hook qui permet de récupérer la valeur du mot de passe suite à sa modification “pre et post” (1er changement de mot de passe et changement de mot de passe dans Simplicité?
Si non, pouvez vous en rajouter un ?

Le besoin est de pousser ce mot de passe dans un provider d’identité externe. La création initiale, l’activation de l’utilisateur est dans Simplicité. Une fois l’utilisateur créé et activé alors l’authentification est externe et nous sommes en SSO.

(François Genestin) #2

Il y a le hook GrantHooks.validatePassword(Grant admin, String pwd);
appelé avant tout changement de mot de passe, avec le mot de passe en clair.

Il est utile pour surcharger les contrôles syntaxiques (par défaut la méthode teste uniquement supérieur à 8 caractères), mais peut être utilisé pour tout autre besoin.

Il n’y a pas de hook “post” pour le moment car l’autre est suffisant.

(Sébastien Hardy) #3

J’ai besoin du mot de passe hashé et donc du Post pour le transférer au provider d’identité externe.
Un évolution est-elle possible ?

(David AZOULAY) #4

select usr_password from m_user where usr_login='<login>'

(David AZOULAY) #5

Sinon dans le validatePassword rien n’empêche d’appeler la méthode de hashage, cf. https://docs.simplicite.io/4.0/javadoc/com/simplicite/util/tools/HashPassword.html

(Sébastien Hardy) #6

ok pour le hashage, cest top.
Par contre, je ne peux pas propager mon mot de passe dans un système tiers.

A la 1ere connexion, changement de mot de passe, je n’ai pas l’utilisateur qui effectue le changement de mot de passe :

GrantHooks.validatePassword #1 {“firstname”:“System”,“endpoint”:0,“responsibilities”:[“WEB_USER”,“APP_ADMIN”,“PEGASE_RESPONSABLE_APP”,“MD_ADMIN”,“USER_PASSWORD”,“GRANT_ADMIN”,“USER_ADMIN”,“ADMIN”,“ALM_ADMIN”,“SOCIAL_USER”,“CHAT_USER”],“sessionid”:“SYSTEM_ADMIN_SESSION”,“login”:“system”,“lang”:“FRA”,“userid”:2,“lastname”:“SYSTEM”}

Comment je récupère le user qui effectue le changement de mot de passe ?

(David AZOULAY) #7

Il y a effectivement un pb d’oeuf et de poule dans ce cas là… On va regarder ce qui est faisable sans régression

(David AZOULAY) #8

On a fait une évolution sur la matser (P24) pour que le grant passé au validatePassword soit bien - quand c’est possible - le grant du user qui se connecte (jusqu’ici c’était le grant du system admin)

Je te laisse valider que ça répond à ton besoin (le login du user se récupère via g.getLogin())

NB: Si tu valides rapidement que c’est bon il sera sans doute encore temps de backporter ça sur le P23 qui est encore en prerelease

(Sébastien Hardy) #9

Je valide que je le récupère bien au 1er changement de mot de passe. Top

Evénement: ############### g =seb
Evénement: GrantHooks.validatePassword #1 {“firstname”:“Sébastien”,“endpoint”:1,“responsibilities”:[“WEB_USER”,“SOCIAL_ADMIN”,“USER_PASSWORD”],“sessionid”:“77955A5CD1727D607B855CD09587A61F”,“login”:“seb”,“lang”:“FRA”,“userid”:4,“lastname”:“Hardy”}

Merci

(David AZOULAY) #10

Ok je te dis quand c’est backporté sur la P23 (pour mémoire elle devrait être poussée en tant que release d’ici le 1er mai)

(David AZOULAY) #11

C’est backporté sur la P23 (en prerelease uniquement pour l’instant)