禁用基于本地用户名/密码的账户会破坏 OAuth 注册

你好,

我目前正在尝试将 Auth0 与 Discourse 集成,到目前为止进展顺利。不过,我遇到了一个非常具体的问题,不确定哪里出了错。

我们的配置

我们有一个 Vue.js 前端,用户可以在其中通过 Auth0 进行身份验证。登录后,用户可以点击消息板按钮,随后会被重定向到我们的 Discourse 论坛,在那里再次通过 Auth0 进行身份验证。

安装过程

我遵循了这篇教程,并按照该方式进行了配置(除了一个已过时的步骤:关闭“使用 Auth0 代替 IdP 进行单点登录”),一切运行正常。用户可以访问 Vue.js 应用,被重定向到 Discourse 论坛,填写详细信息后即可获得论坛访问权限。

问题描述/复现步骤

然而,一旦我在“设置 > 登录”中禁用了“基于本地用户名和密码登录的账户”,注册流程就会中断。之前已经注册过的用户访问论坛没有问题,但新用户注册时会收到以下错误信息:

“授权超时,或您已切换浏览器。请重试。”

我启用了调试日志,并看到以下错误:

user_json 响应看起来没有问题:

#<Excon::Response:0x00007f0af113c718 @data={:body=>"{\"sub\":\"auth0|5dc5401e85758e0e95b0636a\",\"nickname\":\"joralf.quist\",\"name\":\"myname\",\"picture\":\"https://s.gravatar.com/avatar/23d3dc95d3b6cba0ee894df4cb46cb6b?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fjo.png\",\"updated_at\":\"2019-11-18T10:12:13.877Z\",\"email\":\"mymail\",\"email_verified\":true}", :cookies=>["did=s%3Av0%3A8d321ec0-09ee-11ea-95ea-91b52adba184.6irXCvkGZIAzkwkaukzU1W8%2B0BKoefHUhCOKf4slO08; Max-Age=157788000; Path=/; Expires=Sun, 17 Nov 2...

只有我遇到这个问题吗?有人能复现吗?

你好 @Joralf,你能分享一下网站链接吗?我想查看一下。(如果你不想在这里公开,也可以发私信。)

问题是否仅限于特定浏览器?

4 个赞

你好,David,我已经给你发了私信。该问题在 Chrome 和 Safari 中都会出现。在 Safari 中,我收到了这条消息(与错误日志一致):

感谢 @Joralf 在私信中提供的信息——我已经成功定位了问题。注册流程被新的“自动重定向”功能中断了。我刚刚推送了一个修复:

能否请您尝试更新并检查问题是否已解决?

5 个赞

@david:我们升级了 Discourse,并顺利完成了注册流程,没有任何问题。非常感谢您的快速反馈!:slight_smile:

2 个赞

本主题在 31 小时后自动关闭。不再允许新回复。