Je crée manuellement des utilisateurs par programme et je veux connecter le nouvel utilisateur créé. WP facilite l’accès au mot de passe haché, mais pas à la version en texte clair. Est-il possible d'utiliser wp_signon () sans le mot de passe en texte clair?
J'ai trouvé une personne qui prétend l'avoir faite ici , mais cela n'a pas fonctionné pour moi.
MERCI!
login
authentication
emersonthis
la source
la source
Réponses:
wp_set_auth_cookie()
connectera un utilisateur sans avoir à connaître son mot de passe.la source
is_user_logged_in()
ne semble pas fonctionner. Savez-vous s'il s'agit de quelque chose de différent des cookies?wp_set_current_user
identifier avant de vous connecter.wp_set_auth_cookie()
dans ma fonction de connexion. Je suppose que je dois repenser cela. Je vais aussi rechercher wp_set_current_user et faire rapport. Merci beaucoup pour votre aide!Le code suivant fait le travail pour la connexion automatique, sans aucun mot de passe!
la source
get_user_by()
renvoie false en cas d'échec. Vous devez donc rechercher false au lieu de l'objet WP_ErrorJ'ai trouvé une autre solution ici qui utilise une meilleure approche (du moins à mon avis ...). Pas besoin de définir de cookie, il utilise l'API Wordpress:
Je pense que le code est explicite:
Le filtre recherche l'objet WP_User pour le nom d'utilisateur donné et le renvoie. Un appel à la fonction
wp_set_current_user
avec l'objet WP_User renvoyé parwp_signon
, une vérification avec la fonctionis_user_logged_in
pour vous assurer que vous êtes connecté, et c'est tout!Un morceau de code propre et agréable à mon avis!
la source
$credentials
est vide ou non. Si le tableau n'est pas vide (ce qui est le cas dans ma réponse), les valeurs du tableau sont utilisées pour authentifier l'utilisateur.Cela fonctionne bien pour moi:
la source
En plus de Mike, Paul et Sjoerd:
Pour mieux gérer les
login.php
redirections:Être placé dans
wp-config.php
juste aprèsFYI
Basé sur la solution ci-dessus, j'ai publié un plugin pour garder l'utilisateur connecté d'une wordpress à une autre en synchronisant les données de l'utilisateur et la session de cookie:
https://wordpress.org/plugins/user-session-synchronizer/
la source