Para qualquer outra pessoa que esteja enfrentando este erro, eu o corrigi preenchendo a configuração segredos do provedor SSO para o nome de domínio do cliente:
No código do Discourse, quando esse segredo não está definido, a chamada a OpenSSL::HMAC.hexdigest falha com o seguinte erro nos logs:
TypeError (no implicit conversion of nil into String) /var/www/discourse/lib/single_sign_on.rb:114:in
hexdigest
Aqui está o caminho de código relevante:
- 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
Essa mensagem de erro definitivamente deveria ser melhorada! _Edição: e ela foi — veja https://meta.discourse.org/t/confusing-unpolished-error-message-when-using-discourse-as-sso-provider/123762_
