我已将 WordPress 配置为我的 SSO 提供商,并要求用户在 WordPress 端验证邮箱后才能创建账户。然而,他们在 WordPress 上注册并被重定向到 Discourse 后,仍然看到了激活页面:
我在 这里的官方 SSO 主帖 中看到很多关于自定义实现需要设置 require_activation = true 的内容,但在 Discourse WordPress 插件 SSO 的情况下,是否无法原生地绕过让用户在 Discourse 上确认邮箱的要求?
我觉得我可能忽略了某个简单的地方,因为这看起来应该已经作为核心功能实现了。
谢谢,
Zach
很多时候,用于创建 WordPress 账户的电子邮件并未经过有意义的验证。而 Discourse 在很大程度上依赖电子邮件地址。
过去曾有一条免责声明,指出在覆盖 require_activation 行为之前,应确保已正确验证用于注册的电子邮件。
根据我的了解,该选项未以复选框形式存在,可能是为了防止当 WordPress 作为单点登录(SSO)提供商时出现垃圾注册。不过,可以通过自定义函数轻松覆盖此行为。
add_filter( 'discourse_email_verification', 'wpdc_custom_disable_email_verification' );
function wpdc_custom_disable_email_verification() {
return false;
}
哇,非常感谢 @itsbhanusharma!这太完美了。
想请教一下:你是通过深入挖掘插件源码找到这个钩子的,还是有什么地方提供了可用操作和过滤器的文档?(我没能找到,但也许是我漏掉了什么。)
这个问题在 meta 上的多个主题中已被多次提及。我个人也为一些客户使用过,所以我的笔记里也记录了这一点 