(oauth2_basic) 认证失败!csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | 检测到 CSRF
有什么建议吗?
(oauth2_basic) 认证失败!csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | 检测到 CSRF
有什么建议吗?
是否可以将 Auth0 设为注册和登录的唯一方式?
是的,只需禁用所有其他登录方式(包括“启用本地登录”设置)。
是否可以仅重定向到 Auth0 注册页面,而不显示基本注册表单?
如果您想隐藏所有 Discourse 的登录/注册界面,可以关闭“启用本地登录”站点设置。
谢谢 David。我确实这样做了,但我注意到,当我通过弹窗注册并被重定向回 Discourse 时,系统会再次提示输入用户名和其他详细信息,这表明 Auth0 似乎没有将这些信息传递回 Discourse。我在想,解决方案是否是在 Auth0 的注册弹窗中仅保留邮箱地址和密码,而将其他详细信息放在 Discourse 中收集?
问题是,我们希望将用户数据集中存储在一个地方,即使用连接到 Auth0 的自定义数据库。
我该如何设置登出重定向?我找不到任何关于登出的相关信息。
如果用户尚未在 Auth0 中确认电子邮件地址,则仅要求验证电子邮件地址,oauth2 json email verified path 的值为 email_verified。
我是通过启用 oauth2 debug auth 设置并在 <DISCOURSE_URL>/logs 处检查日志找到此信息的。当我使用未经验证的帐户登录时,正文如下:
OAuth2 Debugging:
user_json: {
"sub"=>"auth0|XXXXXX",
"nickname"=>"YYYYY+unprovenauth",
"name"=>"YYYYYY+unprovenauth@ZZZZZZ.com",
"picture"=>"https://via.placeholder.com/150",
"updated_at"=>"2022-09-21T07:50:40.172Z",
"email"=>"YYYYYY+unprovenauth@ZZZZZZ.com",
"email_verified"=>false
}
@david
希望你能帮忙——我想配置 Discourse 使用微软的 XBL 登录,我认为这个插件可能是开始的方法。
我在这里发过一个帖子:
有一个名为“The Hive”的 Minecraft Discourse 论坛使用了我们想要的功能——我只是找不到它的插件。 ![]()
你好!
有没有办法要求在社区中发帖需要登录,但允许在不登录的情况下查看帖子?
我们已经为我们的社区启用了 Auth0 插件。并且我们已经删除了所有其他形式的登录和匿名发帖——我们基本上希望确保人们在发帖到用户社区之前是我们的客户。但我们仍然希望其他人即使在未登录的情况下也能看到帖子。
我能够让 Auth0 插件正常工作的方式是,它要求你在查看内容之前先登录。我是否错过了某个开关或设置?
谢谢!
看起来您可能开启了“需要登录”。启用此选项后,只有拥有账户的用户才能查看论坛帖子。您应该可以在无需启用该选项的情况下实现 SSO。![]()
此 URL 在创建注册后、最终用户验证其电子邮件地址之前返回。是否有办法在电子邮件经过验证之前阻止其转到社区?
我在这方面遇到了一些设置问题。启用所有内容后,然后通过 Discourse 上的注册流程,一切正常地发送到 Auth0,但当我返回时,我看到一条错误消息(“哎呀,为这个讨论论坛提供支持的软件遇到了意外问题。我们对造成的不便深表歉意”)。
查看日志时,我看到了我认为是错误的地方:
ActiveRecord::NotNullViolation (PG::NotNullViolation: ERROR: null value in column "provider_uid" of relation "user_associated_accounts" violates not-null constraint
我已仔细检查并按照说明配置了所有内容,听起来这个问题可能是由“OAuth2 JSON 用户 ID 路径”不正确且该字段为空引起的?我已将其设置为 sub。
假设 IDP 提供了单独的字段,如 user.name.first 和 user.name.last,而不是像字段描述示例中给出的 user.name.full……
是否可以将多个用户 JSON 数据路径的 OAuth2 JSON 名称路径 值连接起来?