Je veux envoyer une connexion unique pour tous les utilisateurs, donc j'utilise drush uli et j'obtiens un lien comme:
http://html/user/reset/1/1509979615/VBPx_FMfKeJUEt1moVcsSQGUMX_tFUSYEdEfRlmq7eA
Donc, si l'utilisateur 5 souhaite utiliser une connexion unique, celle-ci sera utilisée uniquement pour l'utilisateur 1, n'est-ce pas? Fondamentalement, je veux définir une connexion unique pour tous les utilisateurs.
Comment passer cette URL dans Drupal 8?
Je veux juste savoir comment utiliser cela dans un e-mail de mot de passe oublié.
drush
Pour obtenir une connexion unique pour l'utilisateur spécifique, utilisez cette syntaxe:
drush uli <user>
Où <user>
Est soit uid (par exemple 5
), Nom d'utilisateur ou adresse e-mail de l'utilisateur.
Pour obtenir une URL de connexion unique pour plusieurs utilisateurs ou tous, vous devez exécuter drush
dans la boucle, par exemple.
for uid in $(drush sqlq "SELECT uid FROM users"); do drush uli $uid; done
Exécutez drush help uli
Pour obtenir de l'aide sur la syntaxe.
Pour corriger votre partie http://html
, Ajoutez le paramètre -l http://example.com
Ou définissez votre $base_url
Dans votre fichier de paramètres.
Si vous souhaitez envoyer une connexion unique par e-mail à l'aide de Drupal, vous pouvez utiliser la fonction user_pass_reset_url()
dans votre code personnalisé.
Génère une URL unique permettant à un utilisateur de se connecter et de réinitialiser son mot de passe.
Ou utilisez Connectez-vous une fois module (pour D8, vérifiez cela problème ).
Connexion unique permet d'envoyer des liens de connexion uniques aux utilisateurs par e-mail.
Si vous souhaitez forcer tous vos utilisateurs à se connecter via des liens de connexion uniques à tout moment, vous pouvez utiliser le module sans mot de passe .
Si vous définissez $ base_url dans votre fichier settings.php, la commande Drush user-login générera l'URL correcte dans la sortie. Vous pouvez ensuite écrire un script simple pour envoyer un e-mail à chaque utilisateur avec son propre lien de connexion unique.
Il n'y a pas de commande Drush pour envoyer par e-mail un lien de réinitialisation de mot de passe à un utilisateur, mais il y a bien sûr Drupal le fait sur la page de demande de mot de passe. Vous pouvez utiliser le module utilisateur comme guide et écrire un module simple ou une commande Drush pour réinitialiser en masse tous les utilisateurs.
Dans la version Drush> 9, il devrait être
drush uli --name=USERNAME
remarquez jetez un œil à un chiffre après reset/{UID}/
is devrait être l'ID de l'utilisateur que vous avez essayé de réinitialiser
dans votre cas user/reset/1/
il réinitialisait évidemment le mot de passe pour celui utilisé.
Donc, si vous voulez le faire pour tous les utilisateurs, exécutez la commande suivante dans votre terminal:
for name in $(drush sqlq "SELECT name FROM users"); do drush uli --name=$name; done