Réinitialiser le mot de passe avec un fichier ruby personnalisé

Ceci fait explicitement pas partie des étapes.

Il y a une différence entre créer un champ utilisateur avec ce nom et avoir un champ personnalisé avec ce nom. Le hachage est donc stocké au mauvais endroit.

Le problème est que je pense que ce dernier (un champ personnalisé) n’est pas accessible via l’API.
Je pense que la meilleure façon de procéder est d’avoir un code personnalisé unique qui déplace le contenu du champ utilisateur vers le champ personnalisé réel.

(J’ai envisagé de modifier le plugin pour qu’il examine également le champ utilisateur, mais je pense que rendre ces hachages accessibles à l’interface utilisateur présente un risque de sécurité, donc je ne vais pas le faire).

Cela fonctionnera, exécutez-le à partir d’une console Rails (je vous tague pour que vous voyiez la modification @Hitesh_Sharma )

ufkey = "user_field_#{UserField.find_by(name: 'import_pass').id}"
User.all.each do |u|
  if u.custom_fields.key?(ufkey)
    u.custom_fields[:import_pass] = u.custom_fields[ufkey]
    u.custom_fields.delete(ufkey)
    u.save_custom_fields
  end
end
2 « J'aime »