web-dev-qa-db-fra.com

Remplacer un utilisateur WordPress avec un compte Oauth2

J'essaie de configurer WordPress en tant que client OAuth2. Tous nos utilisateurs sont stockés dans notre CMS exclusif, qui est un fournisseur OAuth. Notre base de données WordPress contient très peu d'utilisateurs (voire aucun), principalement des administrateurs. Idéalement, je ne souhaite pas stocker les données des utilisateurs dans la base de données WordPress, car j’aurais besoin de conserver l’état sur un nombre X de sites WordPress, alors que je dispose d’une source de vérité dans notre CMS exclusif.

Ma conception initiale jusqu'à présent consistait à créer un plug-in qui remplace la fonctionnalité utilisateur existante de WordPress et stocke un jeton d'accès OAuth et un uuid d'utilisateur dans un cookie ou une session. Mais, j'ai besoin que cet utilisateur soit accessible dans d'autres plugins, donc idéalement surcharger les méthodes utilisateur par défaut de WordPress.

Est-ce une approche acceptable? Ou est-ce que j'essaie de travailler avec WordPress de manière à ce qu'il ne soit pas censé être travaillé?

Je peux trouver des tonnes de plugins pour configurer WordPress en tant que fournisseur OAuth2, mais très peu en tant que client. Cela étant dit, j'en ai trouvé quelques-uns qui configurent WordPress en tant que client, mais bon nombre d'entre eux sont spécifiques à Google Apps, Facebook, Twitter, etc. Je préférerais ne pas le faire.

Merci pour toute aide!

10
Nick

Si vous pouvez vous contenter de surcharger uniquement les fonctions situées dans wp-includes/pluggable.php, vous devriez pouvoir éviter tout type de conflit de plug-ins ... sauf si vous utilisez des plug-ins surchargeant les mêmes fonctions.

Assurez-vous simplement que vos fonctions sont déclarées avant le chargement des pluggables. Les plugins sont chargés avant le fichier pluggables ... donc si vous définissez vos remplacements de fonction dans un plugin, vous pouvez être certains qu'ils sont chargés. Sinon, assurez-vous d'utiliser une action antérieure pour le faire.

Il y a pas mal de fonctions d’authentification, de cookies et d’utilisateurs.

1
Privateer