# 500 Internal Server ErrorがPasskeysとDiscourseConnectで発生

**URL:** https://meta.discourse.org/t/500-internal-server-error-with-passkeys-and-discourseconnect/323877
**Category:** Bug
**Tags:** passkey, fixed
**Created:** [2024 年 8 月 28 日午後 9:49 UTC](https://meta.discourse.org/t/500-internal-server-error-with-passkeys-and-discourseconnect/323877 "2024-08-28T21:49:15Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![j127](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j127/32/79093_2.png) [@j127](https://meta.discourse.org/u/j127)
#### Post date: [2024 年 8 月 28 日午後 9:49 UTC](https://meta.discourse.org/t/500-internal-server-error-with-passkeys-and-discourseconnect/323877/1 "2024-08-28T21:49:15Z")

</div>

[Discourse Connect](https://meta.discourse.org/t/13045?silent=true) を設定し、Discourse を使用して別のアプリにログインできるようにしました。

パスワードを使用する場合はすべて正常に機能しますが、フロー中にパスキーで Discourse にログインすると、`500` エラーが発生します。

 ![Internal server error modal](https://global.discourse-cdn.com/meta/original/4X/e/a/a/eaae2aad9dc5b5b7d5df4c470e7a63bf3315330c.png)

NGINX ログに 500 エラーが表示されます。

```plaintext
POST /session/passkey/auth.json HTTP/2.0

```

Rails ログには次のように表示されます。

```plaintext
Started POST "/session/passkey/auth.json" for <ip_address> at 2024-08-28 21:33:32 +0000
Processing by SessionController#passkey_login as JSON
  Parameters: {"publicKeyCredential"=>{"signature"=>"...", "clientData"=>"...", "authenticatorData"=>"...", "credentialId"=>"...", "userHandle"=>"..."}}
start
Completed 500 Internal Server Error in 30ms (ActiveRecord: 0.0ms | Allocations: 4837)
done

```

他にエラーメッセージを探すべき場所がわかりません。

これはバグですか、それともパスキーを [Discourse Connect](https://meta.discourse.org/t/13045?silent=true) で機能させるために何か他のことを行う必要がありますか？

---

<div class="post-metadata">

### Author: ![j127](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j127/32/79093_2.png) [@j127](https://meta.discourse.org/u/j127)
#### Post date: [2024 年 8 月 31 日午前 2:32 UTC](https://meta.discourse.org/t/500-internal-server-error-with-passkeys-and-discourseconnect/323877/2 "2024-08-31T02:32:48Z")

</div>

[DiscourseConnect](https://meta.discourse.org/t/13045?silent=true) を使用している方で、ご自身のサイトでパスキーが機能するかどうか、すぐに確認していただける方はいらっしゃいますか？

[DiscourseConnect](https://meta.discourse.org/t/13045?silent=true) でパスキーが機能しない場合、まったく異なるアプローチを考えなければならなくなります。

---

<div class="post-metadata">

### Author: ![supermathie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/supermathie/32/507518_2.png) [@supermathie](https://meta.discourse.org/u/supermathie)
#### Post date: [2024 年 8 月 31 日午前 3:15 UTC](https://meta.discourse.org/t/500-internal-server-error-with-passkeys-and-discourseconnect/323877/3 "2024-08-31T03:15:37Z")

</div>

実際、私も同じ失敗を再現できますが、これは [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true) がフロー内にあることによるものではありません。

私のパスキーログインは [meta.discourse.org](http://meta.discourse.org) では機能しましたが、社内サイトでは失敗しました。

トレースバック (`/logs`) でどのようなエラーが表示されますか？

私は以下を確認しました。

```plaintext
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](https://meta.discourse.org/groups/dev-managers) パスキーログインは部分的に壊れています

---

<div class="post-metadata">

### Author: ![j127](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j127/32/79093_2.png) [@j127](https://meta.discourse.org/u/j127)
#### Post date: [2024 年 8 月 31 日午前 5:42 UTC](https://meta.discourse.org/t/500-internal-server-error-with-passkeys-and-discourseconnect/323877/5 "2024-08-31T05:42:28Z")

</div>

`/logs` で確認できる内容は以下の通りです。

```plaintext
app/controllers/session_controller.rb:809:in `login'
app/controllers/session_controller.rb:399:in `passkey_login'
actionpack (7.1.4) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (7.1.4) lib/abstract_controller/base.rb:224:in `process_action'
actionpack (7.1.4) lib/action_controller/metal/rendering.rb:165:in `process_action'
actionpack (7.1.4) lib/abstract_controller/callbacks.rb:259:in `block in process_action'
activesupport (7.1.4) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
app/controllers/application_controller.rb:424:in `block in with_resolved_locale'
i18n (1.14.5) lib/i18n.rb:351:in `with_locale'
app/controllers/application_controller.rb:424:in `with_resolved_locale'
activesupport (7.1.4) lib/active_support/callbacks.rb:130:in `block in run_callbacks'
activesupport (7.1.4) lib/active_support/callbacks.rb:141:in `run_callbacks'
actionpack (7.1.4) lib/abstract_controller/callbacks.rb:258:in `process_action'
actionpack (7.1.4) lib/action_controller/metal/rescue.rb:25:in `process_action'
actionpack (7.1.4) lib/action_controller/metal/instrumentation.rb:74:in `block in process_action'
activesupport (7.1.4) lib/active_support/notifications.rb:206:in `block in instrument'
activesupport (7.1.4) lib/active_support/notifications/instrumenter.rb:58:in `instrument'
activesupport (7.1.4) lib/active_support/notifications.rb:206:in `instrument'
actionpack (7.1.4) lib/action_controller/metal/instrumentation.rb:73:in `process_action'
actionpack (7.1.4) lib/action_controller/metal/params_wrapper.rb:261:in `process_action'
activerecord (7.1.4) lib/active_record/railties/controller_runtime.rb:32:in `process_action'
actionpack (7.1.4) lib/abstract_controller/base.rb:160:in `process'
actionview (7.1.4) lib/action_view/rendering.rb:40:in `process'
rack-mini-profiler (3.3.1) lib/mini_profiler/profiling_methods.rb:89:in `block in profile_method'

actionpack (7.1.4) lib/action_controller/metal.rb:227:in `dispatch'
actionpack (7.1.4) lib/action_controller/metal.rb:309:in `dispatch'
actionpack (7.1.4) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack (7.1.4) lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack (7.1.4) lib/action_dispatch/journey/router.rb:51:in `block in serve'
actionpack (7.1.4) lib/action_dispatch/journey/router.rb:131:in `block in find_routes'
actionpack (7.1.4) lib/action_dispatch/journey/router.rb:124:in `each'
actionpack (7.1.4) lib/action_dispatch/journey/router.rb:124:in `find_routes'
actionpack (7.1.4) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (7.1.4) lib/action_dispatch/routing/route_set.rb:882:in `call'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
rack (2.2.9) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.9) lib/rack/conditional_get.rb:40:in `call'
rack (2.2.9) lib/rack/head.rb:12:in `call'
actionpack (7.1.4) lib/action_dispatch/http/permissions_policy.rb:36:in `call'
lib/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'
rack (2.2.9) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.9) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (7.1.4) lib/action_dispatch/middleware/cookies.rb:689:in `call'
actionpack (7.1.4) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (7.1.4) lib/active_support/callbacks.rb:101:in `run_callbacks'
actionpack (7.1.4) lib/action_dispatch/middleware/callbacks.rb:28:in `call'
actionpack (7.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'
actionpack (7.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
logster (2.20.0) lib/logster/middleware/reporter.rb:40: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'
actionpack (7.1.4) lib/action_dispatch/middleware/request_id.rb:28:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
rack (2.2.9) lib/rack/method_override.rb:24:in `call'
actionpack (7.1.4) lib/action_dispatch/middleware/executor.rb:14:in `call'
rack (2.2.9) lib/rack/sendfile.rb:110:in `call'
rack-mini-profiler (3.3.1) lib/mini_profiler.rb:191:in `call'
lib/middleware/processing_request.rb:12:in `call'
message_bus (4.3.8) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:360:in `call'
actionpack (7.1.4) lib/action_dispatch/middleware/remote_ip.rb:92:in `call'
railties (7.1.4) lib/rails/engine.rb:536:in `call'
railties (7.1.4) lib/rails/railtie.rb:226:in `public_send'
railties (7.1.4) lib/rails/railtie.rb:226:in `method_missing'
rack (2.2.9) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.9) lib/rack/urlmap.rb:58:in `each'
rack (2.2.9) lib/rack/urlmap.rb:58:in `call'
unicorn (6.1.0) lib/unicorn/http_server.rb:634:in `process_client'
unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn (6.1.0) lib/unicorn/http_server.rb:143:in `start'
unicorn (6.1.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `load'
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `<main>'

```

---

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [2024 年 9 月 3 日午後 2:02 UTC](https://meta.discourse.org/t/500-internal-server-error-with-passkeys-and-discourseconnect/323877/7 "2024-09-03T14:02:10Z")

</div>

@j127 レポートありがとうございます。これはDiscourseConnectの問題であることを確認しました。修正に取り組んでいます。

---

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [2024 年 9 月 3 日午後 8:44 UTC](https://meta.discourse.org/t/500-internal-server-error-with-passkeys-and-discourseconnect/323877/9 "2024-09-03T20:44:32Z")

</div>

これは [FIX: Passkey login when Discourse used as SSO provider by pmusaraj · Pull Request #28672 · discourse/discourse · GitHub](https://github.com/discourse/discourse/pull/28672) で修正されるはずです。レポートをありがとうございました。

---

<div class="post-metadata">

### Author: ![j127](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j127/32/79093_2.png) [@j127](https://meta.discourse.org/u/j127)
#### Post date: [2024 年 9 月 3 日午後 9:37 UTC](https://meta.discourse.org/t/500-internal-server-error-with-passkeys-and-discourseconnect/323877/10 "2024-09-03T21:37:51Z")

</div>

迅速なご対応ありがとうございます。

編集：テストしたところ、ここで動作するようになりました。

---

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [2024 年 9 月 7 日午後 12:00 UTC](https://meta.discourse.org/t/500-internal-server-error-with-passkeys-and-discourseconnect/323877/11 "2024-09-07T12:00:12Z")

</div>

このトピックは3日後に自動的に閉じられました。新しい返信はもう許可されていません。
