このエラーが発生した方へ。クライアントドメイン名の「SSO プロバイダーのシークレット」設定を入力することで解決しました。
Discourse のコードでは、このシークレットが設定されていない場合、OpenSSL::HMAC.hexdigest の呼び出しが失敗し、ログに以下のエラーが表示されます。
TypeError (nil を String に暗黙的に変換できません) /var/www/discourse/lib/single_sign_on.rb:114:in `hexdigest’
関連するコードパスは以下の通りです。
- discourse/lib/single_sign_on_provider.rb at f364317625ee273d1e8983faa271831db912953b · discourse/discourse · GitHub
- discourse/lib/single_sign_on.rb at f364317625ee273d1e8983faa271831db912953b · discourse/discourse · GitHub
- discourse/lib/single_sign_on.rb at f364317625ee273d1e8983faa271831db912953b · discourse/discourse · GitHub
このエラーメッセージは改善されるべきです!編集:改善されました - Confusing/unpolished error message when using Discourse as SSO provider をご覧ください
