web-dev-qa-db-fra.com

Comment créer un WP utilisateur en dehors de Wordpress et connexion automatique?

J'ai construit un répertoire de membres sur un site non-WP (en utilisant php et mysql). Chaque membre peut se connecter et mettre à jour ses coordonnées à l'aide d'un nom d'utilisateur et d'un mot de passe.

Je veux pouvoir obtenir ceci pour créer automatiquement un utilisateur sur le site Wordpress en utilisant les détails du répertoire des membres. Idéalement, s'ils mettent à jour leurs informations sur le répertoire des membres, les informations de leurs utilisateurs sur le site WP seront mises à jour. Je ne sais pas comment cela fonctionnerait en termes de mots de passe. WP et le répertoire des sites membres se trouvent sur le même serveur et peuvent donc accéder à chaque base de données.

Je pourrais également avoir un lien sur l'annuaire des membres qui les mènera sur le site WP et les connectant automatiquement. Je ne suis pas sûr de ce dernier point, notamment pour des raisons de sécurité. Je veux juste leur éviter de ressaisir leur nom d'utilisateur et leur mot de passe.

Existe-t-il un moyen de réaliser ce qui précède, en utilisant idéalement quelque chose qui existe déjà?

3
baritoneuk

Si vous pouvez écrire sur le site non-wp pour qu'il fonctionne avec les utilisateurs et la table usermeta, vous pouvez utiliser Wordpress pour créer et vérifier les cookies de connexion. Si ce n'est pas une option, vous pouvez faire quelque chose dans le sens de la vérification des informations de connexion provenant de l'autre site Web dans wordpress. Si elles existent et sont dans le format approprié, utilisez wp_signon() pour créer le cookie de connexion wordpress.

1
mor7ifer

Donc, vous demandez essentiellement deux choses.

  1. authentification à partir d'une application externe (site non-WP)
  2. connexion unique (la connexion à votre site non-WP les connecte également à votre site WordPress).

Une méthode courante consiste à créer un service d’authentification au-dessus de votre site non-WP, que WordPress utilisera. Le site non-WP renvoie un jeton de connexion au site WP. Stockez ce jeton dans un cookie.

Un exemple de cas d'utilisation serait:

  1. L'utilisateur atterrit sur votre site WP. Il tente de se connecter.
  2. WP envoie ces informations d'identification au site non-WP pour l'authentification. En cas de succès, le site non-WP renvoie un jeton. Le jeton signifie que les informations d'identification étaient valides.
  3. Ajoutez le jeton à un cookie ou à une session.
  4. Envoyez l'utilisateur à une page de connexion sur votre site WP.

HTH

1
rexposadas