Je suis sur le point de commencer à travailler sur un prototype pour un client - et l'une des fonctionnalités requises est l'intégration avec un système interne d'authentification / d'enregistrement des utilisateurs.
Ce système fera office de base de données d'utilisateurs faisant autorité et fournit une interface RESTful pour créer de nouveaux utilisateurs et authentifier des utilisateurs valides.
J'ai besoin de pouvoir créer de nouveaux utilisateurs dans WP et dans le cadre de ce processus, faire un appel à l'API d'authentification externe pour créer / valider cet utilisateur.
Une personne qui est un utilisateur valide mais non connu de WP devrait pouvoir se connecter pour commenter, sans avoir besoin de s'inscrire sur le site WP lui-même.
Une personne connectée au site Web global doit également être automatiquement connectée à WordPress.
Je pense que ce qui suit est la voie à suivre.
Pour (1) - existe-t-il un crochet d'enregistrement que je peux utiliser?
Pour (2) - Je suppose que je raccorde le filtre d'authentification - c'est-à-dire lorsque quelqu'un essaie de se connecter, je le piège, j'appelle le système externe, puis je traite la connexion WP ou je le redirige vers le processus d'enregistrement où ( 1) prend oer.
Pour (3) - lire le cookie de connexion défini par le site principal et continuer avec (2)?
Je suppose que je vais également avoir besoin d'insérer un enregistrement dans la table des utilisateurs et usermeta.
Alors, est-ce que ce qui précède a du sens - n'ai-je pas pensé à quelque chose. Tout le monde a de bonnes ressources pour aider avec cela (@hakre - j'ai vu que vous avez fait du travail là-dessus !!).
Mise à jour
Donc, je dénonce toujours un peu ma tête contre cela, j'essaie essentiellement de me connecter au filtre d'authentification et de l'utiliser pour:
- vérifier si un cookie de connexion pour le site `` maître '' est défini, et s'il l'est, revalider par rapport à leur API d'authentification, et s'il est valide, forcer une connexion WP avec
wp_signon()
, en utilisant les informations contenues dans le cookie du site maître (email et mot de passe haché) comme informations d'identification pour WP - si le cookie n'est pas défini, redirigez-vous vers la page de connexion du site maître et obtenez une connexion / inscription, puis revenez à l'étape 1
- s'il n'y a pas d'utilisateur WP lorsqu'il existe un utilisateur de site maître authentifié, créez-le, puis un code d'accès «transparent» (c'est-à-dire que l'utilisateur ne voit pas de formulaire de connexion WP)
Fondamentalement, je souhaite masquer le formulaire de connexion WP entièrement pour les utilisateurs qui vont simplement commenter, et trouver plus tard un moyen d'autoriser les auteurs et les administrateurs à y accéder directement.
Ça va assez lentement, voici ce que je pourrais utiliser avec de l'aide:
le filtre d'authentification est-il le bon à utiliser? Il ne semble pas être appelé dans toutes les situations auxquelles je m'attendrais - par exemple, le méta-widget affiche les liens de connexion / déconnexion sans le déclenchement du crochet d'authentification
je peux obtenir
wp_signon()
pour renvoyer unWP_User
objet (indiquant le succès), mais cela n'affecte pas le statut connecté - c'est-à-dire que le méta-widget serait toujours affiché dans "Login" même après rafraîchissement.
Toute aide reçue avec gratitude :)