对于遇到此错误的其他人,我通过为客户端域名填写 sso provider secrets 设置解决了该问题:
在 Discourse 代码中,如果未设置此密钥,调用 OpenSSL::HMAC.hexdigest 时会在日志中报出以下错误:
TypeError (no implicit conversion of nil into 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
此错误消息确实应该得到改进!_编辑:已经改进——参见 https://meta.discourse.org/t/confusing-unpolished-error-message-when-using-discourse-as-sso-provider/123762_
