使用Oauth2帐户覆盖WordPress用户


10

我正在尝试将WordPress设置为OAuth2客户端。我们所有的用户都存储在我们的专有CMS中,该CMS是OAuth提供商。我们的WordPress数据库中的用户很少(甚至没有),主要是管理员。理想情况下,我不想将用户数据存储在WordPress数据库中,因为我需要以某种方式维护X个WordPress网站的状态,而我在专有CMS中只有一个事实来源。

到目前为止,我的最初设计是创建一个覆盖现有WordPress用户功能的插件,并在Cookie或会话中存储OAuth访问令牌和用户uuid。但是,我需要在其他插件中可以访问此用户,因此理想情况下应覆盖默认的WordPress用户方法。

这是可以接受的方法吗?或者,我是不是试图以不适合的方式使用WordPress?

我可以找到大量用于将WordPress设置为OAuth2提供程序的插件,但作为客户端的插件很少。话虽这么说,但我发现确实有一些将WordPress设置为客户端的应用程序,但其中许多特定于Google Apps,Facebook,Twitter等。此外,这些应用程序依赖于在WordPress用户表中本地存储用户数据。我宁愿不这样做。

谢谢你的帮助!


尼克,您好,欢迎来到WPSE。不幸的是,我无法解决您遇到的实际问题-但您能否删除简介(与问题无关),并添加您已经尝试过的内容甚至添加一些代码。这使每个人都更容易提供帮助。谢谢!
kraftner 2014年

感谢@kraftner的仓促回复。我没有写太多代码,因为我首先尝试进行一些设计/研究,我想我正在寻找对我想法的肯定。但是,似乎我应该获得概念验证并开始运行。抱歉,如果我在这里使用了错误的方法。我将尝试做一些工作,并发布一些较小的问题和一些工作示例。
尼克

不想让您难过,我真的只是想,当您是新手时,我会告诉您,如果您的问题简短而专注,您会得到更多更好的答复,而不是讲一个无关紧要的故事。
kraftner 2014年

@kraftner先生一点都不沮丧!
尼克

Answers:


1

如果您可以坚持只覆盖wp-includes / pluggable.php中的函数,那么您应该能够避免任何类型的插件冲突...除非您使用的是覆盖相同可插拔函数的插件。

只需确保在加载可插拔对象之前声明了您的函数即可。插件是在可插入文件之前加载的...因此,如果您在插件中定义函数替代,则可以确定它们已加载。否则,只需确保使用更早的操作即可。

其中有很多身份验证,Cookie和与用户相关的功能可供使用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.