J'essaie de configurer WordPress en tant que client OAuth2. Tous nos utilisateurs sont stockés dans notre CMS propriétaire qui est un fournisseur OAuth. Nous avons très peu (ou pas) d'utilisateurs dans notre base de données WordPress, principalement des administrateurs. Idéalement, je ne veux pas stocker de données utilisateur dans la base de données WordPress car je devrais en quelque sorte maintenir l'état sur X nombre de sites WordPress, alors que j'ai une source de vérité dans notre CMS propriétaire.
Jusqu'à présent, ma conception initiale était de créer un plugin qui remplace la fonctionnalité utilisateur WordPress existante et stocke un jeton d'accès OAuth et un uuid utilisateur dans un cookie ou une session. Mais, j'ai besoin que cet utilisateur soit accessible dans d'autres plugins, remplaçant donc idéalement les méthodes utilisateur WordPress par défaut.
Est-ce une approche acceptable? Ou est-ce que j'essaie de travailler avec WordPress d'une manière qui n'était pas censée fonctionner?
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é certains qui configurent WordPress en tant que client, mais beaucoup d'entre eux sont spécifiques à Google Apps, Facebook, Twitter, etc. De plus, ces applications reposent sur le stockage local des données utilisateur dans la table utilisateur WordPress. Je préférerais ne pas le faire.
Merci pour toute aide!
Réponses:
Si vous pouvez vous limiter à remplacer uniquement les fonctions situées dans wp-includes / pluggable.php, vous devriez être en mesure d'éviter tout type de conflit de plug-in ... à moins que vous n'utilisiez des plug-ins qui remplacent les mêmes fonctions enfichables.
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 certain qu'ils sont chargés. Sinon, assurez-vous simplement d'utiliser une action antérieure pour le faire.
Il y a pas mal de fonctions d'authentification, de cookies et liées à l'utilisateur à utiliser.
la source