Patreon Webhooks schlagen fehl

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 „Gefällt mir“

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 „Gefällt mir“

Danke @Falco,
Ich werde sie fragen. Sie sagten mir bereits, dass sie keinen Support für die API anbieten, was eine Schande ist. Mir war nicht bewusst, dass Patreon ein eingeschränktes Unternehmen ist, als ich damit anfing.

OK, ich werde also die veralteten Optionen verwenden. Soll ich auch eine API v1 und Webhook verwenden? Ich habe beides ursprünglich versucht, aber es ist schon ein paar Wochen her, dass ich es versucht habe.

Danke für deine Hilfe.

4 „Gefällt mir“

Ja, bitte verwenden Sie die v1-Version.

3 „Gefällt mir“

Danke, @Falco. Ich habe alles zurückgestellt und alle API-Schlüssel und Geheimnisse geändert. Der manuelle Test gibt zwar den Statuscode 200 zurück, die Aufrufe kommen also durch. Mir ist auch aufgefallen, als ich heute Morgen das Discourse / Patreon-Plugin überprüft habe, dass die Daten vor 5 Stunden synchronisiert wurden. Vor fünf Stunden lag ich im Bett, also passiert etwas, aber ich sehe immer noch die rote Meldung „Webhook pausiert“, und die Schaltfläche „Fortsetzen“ führt zu einem weiteren Fehler.

Ich werde die detaillierten Protokolle vom Patreon-Team anfordern und sehen, was sie sagen.

Vielen Dank nochmals für Ihre Hilfe.

2 „Gefällt mir“

Hallo @Falco,

Ich habe eine Antwort vom Patreon-Support in meinem überladenen Posteingang gefunden, und sie sagen einfach, dass sie die Protokolle nicht bereitstellen können. Ich sehe auch, dass sie ihr Community-Support-Forum geschlossen haben.

Ich sehe immer noch diese Fehler, obwohl einige Synchronisierungen funktionieren, da ich Nachrichten sehe, die zeigen, dass das System synchronisiert wurde, während ich schlief, aber neue Patrons werden immer noch nicht automatisch hinzugefügt, wenn sie einen Beitrag leisten. Ich umgehe das, indem ich Einladungen erstelle, die den Zugriff auf verschiedene Kategorien gemäß der Stufe des neuen Patrons beinhalten, aber ich muss diese manuell senden, daher ist es nicht sehr reibungslos. Ich bin auch besorgt, dass Personen, die aufhören beizutragen, wahrscheinlich nicht aus meiner Discourse-Community entfernt werden, und obwohl ich immer noch nur eine kleine Anzahl von Patrons habe und dies überprüfen könnte, wenn ich anfange, gute Beteiligung zu bekommen, während ich mein Patreon-Programm vorantreibe, werde ich wahrscheinlich den Überblick verlieren und die Dinge werden aus dem Ruder laufen.

Wie auch immer, ich weiß, dass es nicht dein Problem ist, aber ich bin wirklich enttäuscht, dass Patreon keinerlei Unterstützung für diese Integrationen bietet, obwohl sie diese in ihrem Marketing verwenden, um Leute dazu zu bringen, ihr System zu nutzen.

Mit freundlichen Grüßen,
Martin.

Die Webhook-Unterstützung lässt die Synchronisierung schneller auf Änderungen reagieren, aber das Plugin funktioniert auch ohne sie zu 100 % . Wir werden alle 6 Stunden eine vollständige Synchronisierung durchführen und neue Gönner erfassen sowie den Zugang für Gönner entfernen, die weg sind. Sie müssen sich also keine Sorgen um solche Dinge machen.

Was es wert ist, dieses Plugin wurde zu 100 % von uns bei Discourse ohne Unterstützung von Patreon entwickelt, sodass wir es so lange funktionsfähig halten können, wie ihre API existiert.

1 „Gefällt mir“