Я недавно установил этот плагин и настроил всё, в основном всё работает. У пользователей есть награды из Patreon. Большинство пользователей, которые уже связали свой email с Discourse с email из Patreon, мгновенно получили свою группу. Однако есть один пользователь, а возможно и другие, у которого Patreon подключён к аккаунту Discourse через настройки, но email из Patreon не совпадает с email в Discourse. Я даже обновил и синхронизировал данные, но группа так и не появилась. Есть ли какие-то причины, по которым это может происходить?
Если электронная почта Patreon и электронная почта Discourse не совпадают, интеграция не будет работать. Пользователю необходимо обновить свой адрес электронной почты либо в Discourse, либо в Patreon.
Зачем тогда подключаться? Только для входа в систему?
У меня та же проблема. Я проверил и перепроверил, что адреса электронной почты совпадают. В последнее время у меня довольно много пользователей с этой проблемой, чего раньше не было. Я попробовал выполнить ручную синхронизацию, но это всё равно не работает.
Есть ли способ посмотреть лог? (Я могу предоставить доступ к моему форуму/установке, чтобы вы могли его проверить)
Да, я попросил пользователя сделать email для Patreon и Discourse одинаковыми, синхронизировал их, но награды всё ещё не отображаются.
Есть ли какие-либо обновления о причинах этого?
Может, кто-то из поддержки поможет? Это критическая ошибка, особенно когда люди платят за награды.
Боюсь, я не очень хорошо знаком с этим плагином. Недавно возникла проблема с подтверждением электронной почты. Убедились ли эти пользователи, которые не синхронизируются, что они подтвердили свой адрес электронной почты на стороне Patreon?
Да, их электронная почта подтверждена на Patreon.
Хм. ![]()
Есть ли какие-либо ошибки в консоли, когда вы нажимаете «Обновить данные Patreon и синхронизировать группы»?
Если вы имеете в виду консоль элемента, то нет, ошибок не возникает.
Я несколько раз проверил, что адреса электронной почты совпадают. У меня возникают проблемы с несколькими пользователями.
Есть ли способ просмотреть лог синхронизации или что-то подобное?
Единственный ответ, который я получаю от «https://xxxxxx/forum/patreon/update_data.json», — это:
Да, я не уверен, что происходит, похоже, никто не знает, лол.
Извините, я не пользовался этим плагином, поэтому мои попытки решить проблему сводятся к проверке недавних изменений и поиску похожих тем.
Есть похожая тема с несколькими полезными советами, но она довольно старая: Patreon Plugin Not Updating
По выходным здесь может быть довольно тихо, но, надеюсь, кто-то с опытом работы с этим плагином скоро прольёт свет на ситуацию. ![]()
Есть какие-то новости по этому поводу?
Со своей стороны тоже хочу напомнить об этом…
Сколько всего у вас патрона?
Можете проверить детали патронажа на странице администрирования деталей пользователя?
На Patreon или на Discourse?
На самой странице Patreon указано, что она содержит

У некоторых — да, но не у тех пользователей, для которых это не работает.
Также сегодня я заметил эту ошибку в консоли ошибок:
Patreon-API : {"errors":[{"code":1,"code_name":"generic-error","detail":"A runtime check failed.","id":"4462cdbf-XXXX-XXXX-86a4-4ddac9780368","status":"403","title":"A runtime check failed."}]}
трассировка стека
/var/www/discourse/plugins/discourse-patreon/lib/api.rb:15:in `campaign_data'
/var/www/discourse/plugins/discourse-patreon/lib/campaign.rb:13:in `update!'
/var/www/discourse/plugins/discourse-patreon/lib/patron.rb:9:in `update!'
/var/www/discourse/plugins/discourse-patreon/app/jobs/scheduled/patreon_sync_patrons_to_groups.rb:11:in `execute'
/var/www/discourse/app/jobs/base.rb:232:in `block (2 levels) in perform'
rails_multisite-4.0.0/lib/rails_multisite/connection_management.rb:284:in `with_connection'
rails_multisite-4.0.0/lib/rails_multisite/connection_management.rb:77:in `with_connection'
/var/www/discourse/app/jobs/base.rb:221:in `block in perform'
/var/www/discourse/app/jobs/base.rb:217:in `each'
/var/www/discourse/app/jobs/base.rb:217:in `perform'
/var/www/discourse/app/jobs/base.rb:279:in `perform'
mini_scheduler-0.13.0/lib/mini_scheduler/manager.rb:93:in `process_queue'
mini_scheduler-0.13.0/lib/mini_scheduler/manager.rb:37:in `block (2 levels) in initialize'
Вот ещё одна ошибка, которую я нашёл в журнале ошибок:
(patreon) Authentication failure! csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF detected
с трассировкой стека
omniauth-1.9.1/lib/omniauth/strategy.rb:163:in `log'
omniauth-1.9.1/lib/omniauth/strategy.rb:486:in `fail!'
omniauth-oauth2-1.7.2/lib/omniauth/strategies/oauth2.rb:87:in `callback_phase'
omniauth-1.9.1/lib/omniauth/strategy.rb:238:in `callback_call'
omniauth-1.9.1/lib/omniauth/strategy.rb:189:in `call!'
omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
omniauth-1.9.1/lib/omniauth/strategy.rb:192:in `call!'
omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
omniauth-1.9.1/lib/omniauth/strategy.rb:192:in `call!'
omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
omniauth-1.9.1/lib/omniauth/strategy.rb:192:in `call!'
omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
omniauth-1.9.1/lib/omniauth/strategy.rb:192:in `call!'
omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
omniauth-1.9.1/lib/omniauth/builder.rb:45:in `call'
/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:50:in `call'
rack-2.2.3/lib/rack/tempfile_reaper.rb:15:in `call'
rack-2.2.3/lib/rack/conditional_get.rb:27:in `call'
rack-2.2.3/lib/rack/head.rb:12:in `call'
actionpack-6.1.6.1/lib/action_dispatch/http/permissions_policy.rb:22:in `call'
/var/www/discourse/lib/content_security_policy/middleware.rb:12:in `call'
/var/www/discourse/lib/middleware/anonymous_cache.rb:361:in `call'
/var/www/discourse/config/initializers/008-rack-cors.rb:25:in `call'
rack-2.2.3/lib/rack/session/abstract/id.rb:266:in `context'
rack-2.2.3/lib/rack/session/abstract/id.rb:260:in `call'
actionpack-6.1.6.1/lib/action_dispatch/middleware/cookies.rb:689:in `call'
actionpack-6.1.6.1/lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport-6.1.6.1/lib/active_support/callbacks.rb:98:in `run_callbacks'
actionpack-6.1.6.1/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack-6.1.6.1/lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'
actionpack-6.1.6.1/lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'
actionpack-6.1.6.1/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
logster-2.10.1/lib/logster/middleware/reporter.rb:43:in `call'
railties-6.1.6.1/lib/rails/rack/logger.rb:37:in `call_app'
railties-6.1.6.1/lib/rails/rack/logger.rb:28:in `call'
/var/www/discourse/config/initializers/100-quiet_logger.rb:23:in `call'
/var/www/discourse/config/initializers/100-silence_logger.rb:31:in `call'
actionpack-6.1.6.1/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
actionpack-6.1.6.1/lib/action_dispatch/middleware/request_id.rb:26:in `call'
/var/www/discourse/lib/middleware/enforce_hostname.rb:23:in `call'
/var/www/discourse/plugins/communiteq-features/plugin.rb:119:in `call'
rack-2.2.3/lib/rack/method_override.rb:24:in `call'
rack-2.2.3/lib/rack/sendfile.rb:110:in `call'
actionpack-6.1.6.1/lib/action_dispatch/middleware/host_authorization.rb:142:in `call'
rack-mini-profiler-2.3.3/lib/mini_profiler/profiler.rb:249:in `call'
message_bus-4.0.0/lib/message_bus/rack/middleware.rb:60:in `call'
/var/www/discourse/lib/middleware/request_tracker.rb:198:in `call'
rails_multisite-4.0.0/lib/rails_multisite/middleware.rb:26:in `call'
/var/www/discourse/plugins/communiteq-features/plugin.rb:137:in `call'
railties-6.1.6.1/lib/rails/engine.rb:539:in `call'
railties-6.1.6.1/lib/rails/railtie.rb:207:in `public_send'
railties-6.1.6.1/lib/rails/railtie.rb:207:in `method_missing'
rack-2.2.3/lib/rack/urlmap.rb:74:in `block in call'
rack-2.2.3/lib/rack/urlmap.rb:58:in `each'
rack-2.2.3/lib/rack/urlmap.rb:58:in `call'
unicorn-6.1.0/lib/unicorn/http_server.rb:634:in `process_client'
unicorn-6.1.0/lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn-6.1.0/lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn-6.1.0/lib/unicorn/http_server.rb:143:in `start'
unicorn-6.1.0/bin/unicorn:128:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/bin/unicorn:23:in `load'
/var/www/discourse/vendor/bundle/ruby/2.7.0/bin/unicorn:23:in `<main>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/bin/ruby_executable_hooks:22:in `eval'
/var/www/discourse/vendor/bundle/ruby/2.7.0/bin/ruby_executable_hooks:22:in `<main>'
Но странно, что это ошибка аутентификации, ведь я могу нажать кнопку «синхронизировать» в админ-плагине и получить сообщение «последняя синхронизация: только что», и это работает.
Где вы берёте эти логи?
