4
SSO /身份验证与外部“目录服务”集成
我将开始为客户设计原型-所需的功能之一是与内部用户身份验证/注册系统集成。 该系统将充当权威用户数据库,并提供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对象(表示成功),但它不会影响登录状态-即即使刷新后,元窗口小部件仍将显示在“登录”中。 任何帮助表示感谢:)