我们需要登录弹窗吗?

从 Discourse 上线社交登录功能之初,桌面端就一直使用“弹窗”窗口进行登录。

其初衷是尽量减少干扰,让用户在“登录”操作进行时仍停留在原网站上。

我认为继续保留这种做法已无意义,原因有几点:

首先,这与 Discourse SSO 的工作方式不一致;其次,在禁止弹窗的浏览器上它可能不稳定(我的 Firefox 会发出警告,需要点击才能启用);此外,发布消息的代码复杂且难以维护,而且我们现在在弹窗中已经需要额外点击一次。

您是否同意废弃“为社交登录弹出窗口”的代码,只保留一种统一的登录方式,无论是 SSO、社交登录还是其他方式?

@codinghorror / @david / @eviltrout

26 个赞

我同意我们应该移除弹窗,并使所有内容保持一致。这样我们也可以扔掉大量代码::tada:

你在 Firefox 中描述的问题是可以修复的,但正如你所说,弹窗代码很复杂,容易出现此类错误。

如果你愿意的话,我可以在本周晚些时候处理这个问题?

18 个赞

我很乐意 :grin:

10 个赞

我已经为此创建了一个 PR

一旦它最终进入稳定版,我们应该从插件(例如 OAuth2、OIDC)中移除冗余的“全屏”配置选项。

15 个赞

不错… :+1:t3: :slot_machine: :hugs:

11 个赞

我们正在对身份验证代码中一些相当关键的部分进行修改,因此该分支现已部署到 Meta 进行测试。

如果大家有时间,请尝试使用不同的提供商登录,并在偏好设置中断开/重新连接账户。如果发现任何问题,请告诉我,我会进行调查 :face_with_monocle:

这也是一个尝试我们新的 Discord 身份验证的好机会,它已在此处的 Meta 上配置完成 :tada:

6 个赞

@jomaxro 能协助测试吗?

3 个赞

当然!我会尝试我拥有的所有账户。

6 个赞

已测试通过 Facebook、Google、Twitter 和 Discord 登录,均成功。此外,还测试了从用户偏好设置中取消并重新连接同一账户,两个过程均顺畅。由于关联到 GitHub 的 Discourse 账户启用了双因素认证(2FA),我无法测试 GitHub 登录。

5 个赞

进行了进一步的测试(上述测试均在 Windows 上的 Chrome 中进行)。我确认登录功能在 Windows 上的 IE、Edge 和 Firefox 中也能正常工作。发现了两个小错误,一个与登出相关,另一个与 IE 中的账户连接相关,但这两个问题在本次更改之前已被确认存在。

5 个赞

感谢测试 @jomaxro

PR 在此 here。这是一个核心缺陷,由于 Facebook 坚持在回调 URL 中添加哈希值 而变得更加严重。

这是一个缓存问题,仅影响 IE11。应已通过 此提交 修复。正在将该修复部署到 Meta 平台::mantelpiece_clock:

12 个赞

听起来很棒!也许我们可以在下一个测试版发布后进行合并。

6 个赞

该帖子已拆分至新主题:Google 一键登录

此更改现已合并

9 个赞

此主题已在 6 天后自动关闭,不再接受新回复。