Если вы неправильно настроите параметр sso provider secrets при использовании Discourse в качестве провайдера SSO, в браузере появится общее сообщение об ошибке 500, а в логах — запутанное сообщение об ошибке:
TypeError (неявное преобразование nil в String) /var/www/discourse/lib/single_sign_on.rb:114:in `hexdigest’
Судя по пути выполнения кода, это случайность, и я считаю, что это сообщение об ошибке следует улучшить:
В логах указывать, что провайдер SSO настроен неправильно или была предпринята несанкционированная попытка
В браузере показывать более подходящее сообщение об ошибке (вероятно, HTTP 400 Bad Request или 403 Forbidden)
Детали здесь (возможно, администратор или модератор сможет переместить этот пост в эту новую тему за меня):
Обратите внимание, что это происходит в контексте плагина wp-discourse для WordPress, но сама проблема не связана конкретно с этим плагином.
Это происходит, если настройка оставлена пустой (более конкретно, я полагаю, что это случается, когда для домена, связанного с входящим запросом SSO, нет секретного ключа).