Интересно, сможет ли @Falco или кто-нибудь другой помочь.
Недавно я начал использовать Patreon и настроил сервер Discourse на Droplet в Digital Ocean. Также я установил плагин discourse-patreon и ввёл все ключи и другие данные, следуя этому руководству. Я могу нажать кнопку «Обновить данные Patreon и синхронизировать группы» на странице «Плагин → Patreon → Фильтры», и это работает корректно. Все мои уровни поддержки доступны, и я назначил их соответствующим группам Discourse и так далее.
Всё казалось в порядке, но затем я получил письмо от серверов Patreon со следующим сообщением:
Мы сообщаем вам, что POST-запрос WebHook по адресу https://discourse.martinbaileyphotography.com/patreon/webhook не удался. В результате мы приостановили отправку дальнейших событий на ваш URL.
Я пробовал настроить клиент как с API 1, как указано в этом сообщении, так и с API 2, каждый раз меняя ключи и секреты соответствующим образом. Я также пробовал три устаревших события сверху и шесть снизу с обоими API, но не нашёл ни одной рабочей комбинации.
В логах Discourse я обнаружил следующее сообщение об ошибке:
(patreon) Authentication failure! csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF detected
Я обращался в службу поддержки Digital Ocean, и они подтвердили, что не блокируют POST-запросы, и не могут придумать никакой причины, по которой это не должно работать в их системе. Поэтому я в тупике. Я не нашёл никакой полезной информации, которая помогла бы мне исправить проблему, поэтому теперь публикую этот запрос здесь (а также на форуме Patreon) в надежде, что кому-то это что-то напомнит. Может ли кто-нибудь дать совет, как исправить эту проблему или что проверить для дальнейшего устранения неполадок?
Заранее благодарю за любую помощь, которую кто-либо сможет предоставить!
С уважением,
Мартин Бейли.