SSOが壊れています - 要求されたURLまたはリソースが見つかりませんでした

Memberful を SSO として使用しており、本日再構築した後、Discourse にログインしようとすると「要求された URL またはリソースが見つかりませんでした。」というエラーが発生するようになりました。管理画面にもアクセスできません。Memberful には正常にログインできますが、Discourse にはログインできません。ここからどのようにトラブルシューティングすればよいですか?プラグインなしで再構築し、discourse-doctor を実行しましたが、何も異常は見られません。

再構築する前に、新しいメンバーのサインアップが Discourse のユーザーとして作成されないという問題が発生していました。コンソールで次のエラーが発生していましたが、再構築後、既存のユーザーでさえログインできません。助けてください!

そして、この問題に対する Memberful の回答は次のとおりです。

フォーラム自体の問題のようです。送信していただいたスクリーンショット(最初のエラーログのスクリーンショット)と関連があるかはわかりませんが、メンバーを同期しようとすると、内部サーバーエラーが発生します。

\u003c!DOCTYPE html\u003e \u003chtml\u003e \u003chead\u003e \u003ctitle\u003eOops - Error 500\u003c/title\u003e \u003cmeta http-equiv="Content-Type" content="text/html; charset=utf-8"\u003e \u003c/head\u003e \u003cbody\u003e \u003ch1\u003eOops\u003c/h1\u003e \u003cp\u003eこのディスカッションフォーラムを支えるソフトウェアで予期せぬ問題が発生しました。ご迷惑をおかけして申し訳ありません。\u003c/p\u003e \u003cp\u003eエラーに関する詳細情報が記録され、自動通知が生成されました。確認いたします。\u003c/p\u003e \u003cp\u003eそれ以上の対応は必要ありません。ただし、エラー状態が続く場合は、エラーを再現する手順を含め、追加の詳細をサイトのフィードバックカテゴリにディスカッション投稿を投稿して提供することができます。\u003c/p\u003e \u003c/body\u003e \u003c/html\u003e

これは、POST リクエストが /admin/users/sync_sso に送信された場合に発生します。

Discourse ホストまたは管理者に連絡して、このエラーを防ぐのに役立つかどうかを確認するように勧めています。

ログインを試みましたか?

Setup DiscourseConnect - Official Single-Sign-On for Discourse (sso) より

要するに、上記は、SSO が有効な場合に管理者にログインできない場合、2 つの選択肢があるということです。

  • yourforum.com//u/admin-login にアクセスして管理者のユーザー名を入力し、ログインを試みます(これは SMTP サーバー/サービスが稼働していることを前提としています)。
  • 2 番目のオプションは、上記で説明したように Ruby コンソールを使用することです。

タグ通知に関して最近何か変更はありましたか?
もしそうであれば、コンソールからそれらの設定を元に戻してみてください。

「いいね!」 1

Memberful を介してサイトにログインできました。問題は見つかりません。

現時点でわかっていることから、これは一時的なネットワークの問題、または Memberful の問題だったと考えています。

@pfaffman さんのおかげで、/u/admin-login ルートを教えてもらい、再び管理者アクセスでログインできるようになりました。ありがとう、ジェイ!

これで「要求されたURL…」の問題はなくなりましたが、新規ユーザーが作成されないという別の問題はまだ残っています。ジェイ、あなたはすでにログインしていたのでログインできましたが、新規ユーザーはログインできず、ログインエラーが発生します。

@RGJ 最近これに関して変更を加えましたが、これがログインの問題を引き起こす可能性があると思いますか?タグを1つ作成し、デフォルトでミュートするように設定しただけです。

今朝は多くの問題が発生していたため、少し混乱した投稿になってしまいました。

1時間前まではそうは思っていませんでした。しかし、idx_tag_users_ix1インデックスが苦情を言っています。破損している可能性があるので、症状と戦っているのかもしれませんが、それらの通知を無効にすることで、少なくともフォーラムを再び使用可能にするのに役立つかもしれません。それらはユーザー作成時に設定されるためです。

スタックトレースとすべてがあって、そうではありません。

「いいね!」 3

すごい。それは見事なキャッチだ!

どのテーブルにあるのかわからないが、

   discourse=# reindex table tag_users;

エラーは出ない。

ジェイが先に動いてくれましたが、舞台裏で話していたように、リチャード、それが解決策でした!あなたは素晴らしいです。デフォルトでミュートされているタグを削除し、すべてのユーザーに適用したところ、再び機能するようになりました。破損だったのか、何らかのバグだったのかを判断するために、これを元に戻せるかどうかテストする予定です。ありがとうございます、ありがとうございます!

編集:フォローアップですが、実際に破損していました。タグ通知を元に戻したところ、すべて正常に機能しました。

「いいね!」 4

申し訳ありませんが、この問題が再発し、問題の原因となっていたタグを削除しても機能しなくなりました。ログに表示されているタグID 842 をどのように特定すればよいですか?よろしくお願いします!

ActiveRecord::RecordNotUnique (PG::UniqueViolation: ERROR: duplicate key value violates unique constraint \"idx_tag_users_ix1\" DETAIL: Key (user_id, tag_id, notification_level)=(8118, 842, 0) already exists. )

ユーザーログイン試行時のログ
rack-mini-profiler (3.0.0) lib/patches/db/pg.rb:69:in `exec_params'
rack-mini-profiler (3.0.0) lib/patches/db/pg.rb:69:in `exec_params'
activerecord (7.0.3) lib/active_record/connection_adapters/postgresql_adapter.rb:768:in `block (2 levels) in exec_no_cache'
activesupport (7.0.3) lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
activesupport (7.0.3) lib/active_support/dependencies/interlock.rb:41:in `permit_concurrent_loads'
activerecord (7.0.3) lib/active_record/connection_adapters/postgresql_adapter.rb:767:in `block in exec_no_cache'
activesupport (7.0.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
activesupport (7.0.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
activesupport (7.0.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
activesupport (7.0.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
activerecord (7.0.3) lib/active_record/connection_adapters/abstract_adapter.rb:765:in `block in log'
activesupport (7.0.3) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activerecord (7.0.3) lib/active_record/connection_adapters/abstract_adapter.rb:756:in `log'
activerecord (7.0.3) lib/active_record/connection_adapters/postgresql_adapter.rb:766:in `exec_no_cache'
activerecord (7.0.3) lib/active_record/connection_adapters/postgresql_adapter.rb:745:in `execute_and_clear'
activerecord (7.0.3) lib/active_record/connection_adapters/postgresql/database_statements.rb:54:in `exec_query'
activerecord (7.0.3) lib/active_record/connection_adapters/abstract/database_statements.rb:150:in `exec_insert_all'
activerecord (7.0.3) lib/active_record/connection_adapters/abstract/query_cache.rb:22:in `exec_insert_all'
activerecord (7.0.3) lib/active_record/insert_all.rb:41:in `execute'
activerecord (7.0.3) lib/active_record/persistence.rb:213:in `insert_all!'
app/models/user.rb:1734:in `set_default_tags_preferences'
activesupport (7.0.3) lib/active_support/callbacks.rb:400:in `block in make_lambda'
activesupport (7.0.3) lib/active_support/callbacks.rb:236:in `block in halting_and_conditional'
activesupport (7.0.3) lib/active_support/callbacks.rb:599:in `block in invoke_after'
activesupport (7.0.3) lib/active_support/callbacks.rb:599:in `each'
activesupport (7.0.3) lib/active_support/callbacks.rb:599:in `invoke_after'
activesupport (7.0.3) lib/active_support/callbacks.rb:108:in `run_callbacks'
activesupport (7.0.3) lib/active_support/callbacks.rb:929:in `_run_create_callbacks'
activerecord (7.0.3) lib/active_record/callbacks.rb:461:in `_create_record'
activerecord (7.0.3) lib/active_record/timestamp.rb:108:in `_create_record'
activerecord (7.0.3) lib/active_record/persistence.rb:1067:in `create_or_update'
activerecord (7.0.3) lib/active_record/callbacks.rb:457:in `block in create_or_update'
activesupport (7.0.3) lib/active_support/callbacks.rb:118:in `block in run_callbacks'
activerecord (7.0.3) lib/active_record/autosave_association.rb:370:in `around_save_collection_association'
activesupport (7.0.3) lib/active_support/callbacks.rb:127:in `block in run_callbacks'
activesupport (7.0.3) lib/active_support/callbacks.rb:138:in `run_callbacks'
activerecord (7.0.3) lib/active_record/callbacks.rb:457:in `create_or_update'
activerecord (7.0.3) lib/active_record/timestamp.rb:126:in `create_or_update'
activerecord (7.0.3) lib/active_record/persistence.rb:648:in `save!'
activerecord (7.0.3) lib/active_record/validations.rb:53:in `save!'
activerecord (7.0.3) lib/active_record/transactions.rb:302:in `block in save!'
activerecord (7.0.3) lib/active_record/transactions.rb:354:in `block in with_transaction_returning_status'
activerecord (7.0.3) lib/active_record/connection_adapters/abstract/transaction.rb:319:in `block in within_new_transaction'
activesupport (7.0.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
activesupport (7.0.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
activesupport (7.0.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
activesupport (7.0.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
activerecord (7.0.3) lib/active_record/connection_adapters/abstract/transaction.rb:317:in `within_new_transaction'
activerecord (7.0.3) lib/active_record/connection_adapters/abstract/database_statements.rb:316:in `transaction'
activerecord (7.0.3) lib/active_record/transactions.rb:350:in `with_transaction_returning_status'
activerecord (7.0.3) lib/active_record/transactions.rb:302:in `save!'
activerecord (7.0.3) lib/active_record/suppressor.rb:54:in `save!'
app/models/discourse_connect.rb:260:in `block in match_email_or_create_user'
lib/distributed_mutex.rb:33:in `block in synchronize'
lib/distributed_mutex.rb:29:in `synchronize'
lib/distributed_mutex.rb:29:in `synchronize'
lib/distributed_mutex.rb:14:in `synchronize'
app/models/discourse_connect.rb:239:in `match_email_or_create_user'
app/models/discourse_connect.rb:121:in `lookup_or_create_user_unsafe'
app/models/discourse_connect.rb:109:in `block in lookup_or_create_user'
lib/distributed_mutex.rb:33:in `block in synchronize'
lib/distributed_mutex.rb:29:in `synchronize'
lib/distributed_mutex.rb:29:in `synchronize'
lib/distributed_mutex.rb:14:in `synchronize'
app/models/discourse_connect.rb:108:in `lookup_or_create_user'
app/controllers/admin/users_controller.rb:460:in `sync_sso'
actionpack (7.0.3) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (7.0.3) lib/abstract_controller/base.rb:215:in `process_action'
actionpack (7.0.3) lib/action_controller/metal/rendering.rb:53:in `process_action'
actionpack (7.0.3) lib/abstract_controller/callbacks.rb:234:in `block in process_action'
activesupport (7.0.3) lib/active_support/callbacks.rb:118:in `block in run_callbacks'
app/controllers/application_controller.rb:415:in `block in with_resolved_locale'
i18n (1.10.0) lib/i18n.rb:328:in `with_locale'
app/controllers/application_controller.rb:415:in `with_resolved_locale'
activesupport (7.0.3) lib/active_support/callbacks.rb:127:in `block in run_callbacks'
activesupport (7.0.3) lib/active_support/callbacks.rb:138:in `run_callbacks'
actionpack (7.0.3) lib/abstract_controller/callbacks.rb:233:in `process_action'
actionpack (7.0.3) lib/action_controller/metal/rescue.rb:22:in `process_action'
actionpack (7.0.3) lib/action_controller/metal/instrumentation.rb:67:in `block in process_action'
activesupport (7.0.3) lib/active_support/notifications.rb:206:in `block in instrument'
activesupport (7.0.3) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (7.0.3) lib/active_support/notifications.rb:206:in `instrument'
actionpack (7.0.3) lib/action_controller/metal/instrumentation.rb:66:in `process_action'
actionpack (7.0.3) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord (7.0.3) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack (7.0.3) lib/abstract_controller/base.rb:151:in `process'
actionview (7.0.3) lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler (3.0.0) lib/mini_profiler/profiling_methods.rb:85:in `block in profile_method'
actionpack (7.0.3) lib/action_controller/metal.rb:188:in `dispatch'
actionpack (7.0.3) lib/action_controller/metal.rb:251:in `dispatch'
actionpack (7.0.3) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack (7.0.3) lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack (7.0.3) lib/action_dispatch/routing/mapper.rb:18:in `block in <class:Constraints>'
actionpack (7.0.3) lib/action_dispatch/routing/mapper.rb:48:in `serve'
actionpack (7.0.3) lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack (7.0.3) lib/action_dispatch/journey/router

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