使用 Passkeys 和 DiscourseConnect 时出现 500 内部服务器错误

我实际上可以复现同样的失败,但这并非仅限于 DiscourseConnect 在流程中。

我的密钥登录在 meta.discourse.org 上成功了,但在我们的内部站点上失败了。

你们的堆栈跟踪 (/logs) 中看到了什么错误?

我看到了:

NoMethodError (undefined method `ok' for false)
app/controllers/session_controller.rb:809:in `login'
app/controllers/session_controller.rb:399:in `passkey_login'
app/controllers/application_controller.rb:424:in `block in with_resolved_locale'
app/controllers/application_controller.rb:424:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
lib/middleware/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:393:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:26:in `call'
lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:35:in `call_app'
lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:22:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/processing_request.rb:12:in `call'
lib/middleware/request_tracker.rb:360:in `call'

@dev-managers 密钥登录部分已损坏

2 个赞