Mensagem de erro confusa e sem polimento ao usar o Discourse como provedor de SSO

Se você não configurar corretamente a configuração sso provider secrets ao usar o Discourse como provedor de SSO, você receberá uma mensagem genérica de Erro 500 no navegador e uma mensagem de erro confusa nos logs:

TypeError (no implicit conversion of nil into String) /var/www/discourse/lib/single_sign_on.rb:114:in `hexdigest’

Com base no caminho de código seguido, isso parece ser acidental, e acho que essa mensagem de erro deveria ser melhorada:

  • Nos logs, indicar que o provedor de SSO está mal configurado ou que uma tentativa não autorizada foi feita
  • No navegador, mostrar uma mensagem de erro mais apropriada (provavelmente HTTP 400 Bad Request ou 403 Forbidden)

Mais detalhes aqui (talvez um administrador/moderador possa mover essa postagem para este novo tópico para mim):

Note que isso está no contexto do plugin wp-discourse para WordPress, mas o problema não tem nada a ver especificamente com este plugin.

Você quer dizer deixar em branco ou inserir dados inválidos?

Isso ocorre se a configuração for deixada em branco (mais especificamente, acredito que sempre que não houver um segredo para o domínio associado a uma solicitação SSO recebida).

Aha, se a configuração estiver em branco, eu apoio uma mensagem de erro melhor aqui. @eviltrout, você pode fazer isso ou atribuir a alguém?

@Osama fez isso e já foi mesclado:

6 curtidas