现有用户通过SSO添加后,登录尝试时出现“登录错误”页面

您好。整个“SSO 循环”(将用户发送到我们的网站 → 进行身份验证 → 将带有签名负载的用户发送回论坛)似乎设置正确,因为第一个用户已成功添加(我可以在管理员仪表板中看到该用户具有 DiscourseConnect 单点登录详细信息)。但是,用户从论坛注销并尝试重新登录后,会看到“登录错误”页面。日志文件中的日志显示“Completed 422 Unprocessable Entity”。我已检查 sso 和 sig → 一切正常。我可以在哪里或如何找到此错误的根本原因?

也许可以创建一个测试用户,看看是否能用该帐户重现此错误。尝试在打开浏览器检查器的“网络”选项卡的情况下执行登录过程。这可能会提供有关触发 422 错误的详细信息。

如果您还没有这样做,请在 Discourse 上启用 verbose discourse connect logging 设置。该设置会在 Discourse 日志中添加一些额外的日志条目。

如果您在 Discourse 日志中看到此消息,单击日志条目时是否会显示有关请求的任何其他详细信息?

这里有一些关于调试常见 DiscourseConnect 问题的信息:https://meta.discourse.org/t/debug-and-fixing-common-discourseconnect-issues/103496。但不确定这是否与您的情况相关。

3 个赞

嘿 Simon,非常感谢你提供启用详细 discourse connect 日志记录的建议!在日志中,我立即找到了问题所在。我的错误是在 SSO 经过 URL 编码后对其进行哈希处理。为了使签名生效,SSO 应该在进行 Base64 编码后、URL 编码之前进行哈希处理。非常感谢你的帮助!

2 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.