取消受邀用户(SSO)的激活电子邮件要求

如果您没有 SSO,我认为这已经可以这样工作了——通过电子邮件邀请的用户不需要激活他们的电子邮件,因为电子邮件链接本身就计为激活。

但是,我正在使用 WordPress 作为 SSO,如果我邀请某人,会有一个繁琐的过程:首先被发送到登录屏幕,然后必须单击注册,填写表格,然后需要验证我的电子邮件,然后当您最终进入论坛时,您必须单击“登录”,然后才能进入。

有没有办法可以:

  • 将邀请链接默认设置为转到我的注册页面,而不是登录页面
  • 跳过激活电子邮件的需要

这将大有帮助!谢谢。

嘿 Shaun,抱歉,我有点糊涂。

您是从哪里发送此邀请的?您能否逐步向我说明当前发生的情况,例如:

  1. 我去 WordPress
  2. 我填写新用户表单以邀请用户…

以及您希望发生的情况,例如:

  1. 我去 WordPress
  2. 我…

抱歉,我指的是使用 Discourse 的邀请系统。

我想鼓励人们邀请他们的朋友并获得相关的徽章。但目前,在被邀请后,注册过程非常繁琐。

另外, FYI 我将其设置为让被邀请者成为 TL1,但在我的测试中,它被忽略了,并将其设置为 TL0。

好的,我明白了。在这种情况下

据我所知,目前 DiscourseConnect Provider 客户端无法区分来自邀请的登录请求和来自正常登录的登录请求。换句话说,它的工作方式如下:

  1. 用户 A 在 Discourse 中创建一个邀请。
  2. 用户 B 访问(Discourse 中的)邀请链接。
  3. 由于设置了 DiscourseConnect,Discourse 会将用户 B 重定向到 WordPress。

目前,我认为 WP Discourse 插件无法区分像 3 这样的请求(即来自邀请的重定向)和用户仅在 Discourse 中单击“登录”时发出的请求。换句话说,您必须将所有传入的身份验证请求重定向到注册,这可能不是您想要的。

@david 只是再次确认一下,这是正确的吗 :point_up_2:

1 个赞

是的,这听起来是正确的 :+1:

2 个赞

@Shauny 简而言之,需要更新 DiscourseConnect 协议本身(即它在 Discourse 中的工作方式),才能使邀请流程按您想要的方式工作。

好的。那验证邮件呢?它知道该邮箱地址已被邀请,所以不能跳过那个额外的步骤吗?

移除验证电子邮件,除了不安全之外,还有同样的问题。

无法区分您设想的情况与 WordPress 方面的其他情况。即使可能,仍然不建议这样做,因为您可以共享邀请链接而不必将其发送给某人。

因此,如果 DiscourseConnect 协议有更新,自动重定向到注册可能是可能的,但移除电子邮件验证可能无法实现(除非危及您网站的安全性)。

但是,如果您通过电子邮件发送邀请链接,并且用户通过电子邮件点击该链接,那么您已经验证了他们的电子邮件地址。如果您不使用 SSO,这一切都可以正常工作,并且不需要进一步的电子邮件验证!

据我所知,在其当前状态下,Discourse 无法告知 SSO 提供商该电子邮件是通过邀请验证的,SSO 也无法告知 Discourse。

2 个赞

核心产品应该有一种方法来移除电子邮件激活。我已经设置了 Discourse 与 SSO,电子邮件验证步骤给新用户带来了很多阻碍。

有一个插件可以禁用它,但不幸的是,我托管的地方无法安装插件(而且它似乎并非对所有人都有效):Disable Email Verification for Discourse Plugin

无法关闭电子邮件激活功能确实令人沮丧,而且多年来有很多帖子反映了不同的人在努力解决这个问题。核心产品应该允许管理员按照他们想要的方式运行服务器。

1 个赞