我将开始为客户设计原型-所需的功能之一是与内部用户身份验证/注册系统集成。
该系统将充当权威用户数据库,并提供RESTful接口,用于创建新用户和验证有效用户。
我需要能够在WP中创建新用户,并且在该过程中需要调用外部身份验证API以创建/验证该用户。
一个有效用户但不为WP所知的人应该能够登录以发表评论,而无需自己在WP网站上进行注册。
登录整个网站的人也应该自动登录WordPress。
我在想以下是要走的路。
对于(1)-是否可以使用注册钩?
对于(2)-我假设我钩住了身份验证过滤器-即当有人尝试登录时,我将其捕获,调用了外部系统,然后处理WP登录或将其重定向到注册过程,其中( 1)需要。
对于(3)-阅读主站点设置的登录cookie,然后继续(2)?
我想我还需要在用户和usermeta表中插入一条记录。
因此,以上是否有意义-我是否未考虑任何事情。任何人都有很好的资源来帮助解决此问题(@hakre-我看到您已经在此方面做了一些工作!!)。
更新资料
因此,我仍然对此有点b之以鼻,本质上讲,我试图插入身份验证过滤器,并将其用于:
- 检查是否设置了“主”站点的登录cookie,如果已设置,则根据其身份验证API重新验证,如果有效
wp_signon()
,则使用主站点cookie中包含的信息(电子邮件和哈希密码)强制使用WP登录。作为WP的凭证 - 如果未设置Cookie,请重定向到主站点登录页面并获得登录名/注册名,然后返回到步骤1
- 如果存在经过身份验证的主站点用户时没有WP用户,请创建它,然后进行“透明”登录(即,使用户看不到WP登录表单)
基本上,我想完全将WP登录表单隐藏起来,而这些用户只打算主要发表评论,然后找到一种方法,允许作者和管理员直接访问它。
进度相当缓慢,以下是我可以使用的一些帮助:
认证过滤器是正确使用的过滤器吗?我似乎并没有在所有情况下都调用它-例如,meta小部件显示登录/注销链接而未启用身份验证钩子
我可以
wp_signon()
返回一个WP_User
对象(表示成功),但它不会影响登录状态-即即使刷新后,元窗口小部件仍将显示在“登录”中。
任何帮助表示感谢:)