فشل Patreon webhooks

I wonder if @Falco or anyone else could help.

I recently started using Patreon and I’ve set up a Discourse server in a Digital Ocean Droplet. I also installed the discourse-patreon plugin and entered all the keys etc. following this tutorial. I’m able to click the Update Patreon Data & Sync Groups button on the Plugin > Patreon > Filters page, and this works fine. All of my tiers are available and I’ve assigned all of them to Discourse Groups etc.

All seemed fine, but then I received an email from the Patreon servers telling me:
We’re writing to let you know that a WebHook POST to https://discourse.martinbaileyphotography.com/patreon/webhook has failed. As a result we’ve paused on sending more events to your URL.

I have tried setting up the client with both API 1 as specified in this post and API 2 changing the keys and secrets accordingly each time, and trying the top three deprecated events and the bottom six with both APIs, and I cannot find a combination that works.

In my Discourse logs, I’ve found this error message:
(patreon) Authentication failure! csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF detected

I’ve asked Digital Ocean and they do not block POST requests and can’t think of any reason with their system why this would not work, so I’m stumped. I can’t find any useful information to help me fix this, so I’m now posting here (and in the Patreon forum) in the hope that this rings a bell with someone. Can anyone offer any advice on either how to fix this or what to check in order to troubleshoot this issue further.

Thanks in advance for any help anyone can provide!

Regards,
Martin Bailey.

إعجابَين (2)

When configuring webhooks you should only enable the deprecated ones as explained in Configuring Patreon integration with Discourse and configure the secret in site settings.

If they still fail, it may be a problem on the Patreon side. Can you ask their support for detailed logs for the failures?

إعجابَين (2)

شكراً @Falco،
سأسألهم. لقد أخبروني بالفعل أنهم لا يقدمون الدعم لواجهة برمجة التطبيقات (API)، وهذا أمر مؤسف. لم أدرك أن Patreon شركة معيبة عندما بدأت هذا.

حسنًا، سأستخدم الخيارات المهملة. هل يجب أن أستخدم واجهة برمجة التطبيقات v1، وخطاف الويب (webhook) أيضًا؟ لقد جربت كليهما في الأصل ولكن لم أجرب منذ بضعة أسابيع الآن.

شكراً لمساعدتك.

4 إعجابات

نعم، يرجى استخدام الإصدار v1.

3 إعجابات

شكرًا لك، @Falco لقد قمت للتو بتبديل كل شيء مرة أخرى وتغيير جميع مفاتيح وأسرار واجهة برمجة التطبيقات.
لا يزال الاختبار اليدوي يُرجع رمز الحالة 200، لذا تصل الاستدعاءات. لاحظت أيضًا عند التحقق من إضافة Discourse / Patreon هذا الصباح أن البيانات كانت تُظهر أنها تمت مزامنتها قبل 5 ساعات. كنت في السرير قبل خمس ساعات، لذا يحدث شيء ما، لكنني ما زلت أرى رسالة “Webhook Paused” باللون الأحمر، ويؤدي زر “Resume” إلى تسجيل خطأ آخر.
على أي حال، سأطلب السجلات التفصيلية من فريق Patreon وأرى ما سيقولونه.
شكرًا مرة أخرى على مساعدتك.

إعجابَين (2)

مرحباً @Falco،

لقد وجدت رداً من دعم Patreon في صندوق الوارد المزدحم الخاص بي، ويقولون ببساطة إنهم لا يستطيعون تقديم السجلات. أرى أيضاً أنهم أغلقوا منتدى دعم مجتمعهم.

ما زلت أرى هذه الأخطاء، على الرغم من أن بعض المزامنة تعمل، لأنني أرى رسائل تظهر أن النظام قد تمت مزامنته أثناء نومي، ولكن لم يتم بعد إضافة رعاة جدد تلقائياً عند قيامهم بالمساهمة. أعمل على تجاوز ذلك عن طريق إنشاء دعوات تتضمن الوصول إلى فئات مختلفة وفقاً لمستوى الراعي الجديد، ولكن يجب علي إرسال هذه يدوياً، لذا فهي ليست سلسة جداً. أنا قلق أيضاً من أن الأشخاص الذين يتوقفون عن المساهمة ربما لن يتم إزالتهم من مجتمع Discourse الخاص بي، وبينما لا يزال لدي عدد قليل من الرعاة ويمكنني التحقق، إذا بدأت في الحصول على مشاركة جيدة أثناء الترويج لبرنامج Patreon الخاص بي، فمن المحتمل أن أفقد الاتصال بهذا وتخرج الأمور عن نطاق السيطرة.

على أي حال، أعرف أن هذه ليست مشكلتك بحد ذاتها، لكنني مستاء حقاً لأن Patreon لا تقدم أي دعم لهذه التكاملات، على الرغم من استخدامها في تسويقهم لجذب الأشخاص لبدء استخدام نظامهم.

مع خالص التقدير،
مارتن.

إن دعم الـ webhook يجعل المزامنة تتفاعل مع التغييرات بشكل أسرع، لكن المكون الإضافي سيعمل بنسبة 100% بدونه. سنقوم بمزامنة كاملة كل 6 ساعات وسنلتقط أي رعاة جدد، بالإضافة إلى إزالة الوصول للرعاة الذين رحلوا. لذلك لا داعي للقلق بشأن مثل هذه الأمور.

على قدر ما هو مهم، تم إنشاء هذا المكون الإضافي بنسبة 100% بواسطة Discourse بدون دعم من Patreon، لذلك نحن قادرون على إبقائه يعمل طالما أن واجهة برمجة التطبيقات الخاصة بهم موجودة.

إعجاب واحد (1)