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!
Grazie @Falco,
glielo chiederò. Mi hanno già detto che non forniscono supporto per l’API, il che è un peccato. Non mi ero reso conto che Patreon fosse un’azienda limitata quando ho iniziato.
OK, quindi userò le opzioni deprecate. Dovrei usare anche un’API v1, webhook? Ho provato entrambi originariamente, ma non ci provo da qualche settimana.
Grazie, @Falco Ho appena ripristinato tutto e cambiato tutte le chiavi e i segreti dell’API. Il test manuale restituisce comunque il codice di stato 200, quindi le chiamate stanno andando a buon fine. Ho anche notato, quando ho controllato stamattina il plugin Discourse / Patreon, che i dati risultavano sincronizzati 5 ore fa. Stavo dormendo cinque ore fa, quindi qualcosa sta succedendo, ma vedo ancora il messaggio rosso Webhook Paused e il pulsante Riprendi genera un altro errore.
Comunque, richiederò i log dettagliati al team di Patreon e vedrò cosa dicono.
Ho trovato una risposta dal supporto di Patreon nella mia casella di posta sovraccarica, e dicono semplicemente che non possono fornire i log. Vedo anche che hanno chiuso il loro forum di supporto della community.
Sto ancora riscontrando questi errori, anche se alcune sincronizzazioni funzionano, perché vedo messaggi che indicano che il sistema si è sincronizzato mentre dormivo, ma i nuovi Patreon non vengono ancora aggiunti automaticamente quando effettuano un contributo. Sto aggirando il problema creando inviti che includono l’accesso a varie categorie in base al livello del nuovo patron, ma devo inviarli manualmente, quindi non è molto fluido. Sono anche preoccupato che le persone che smettono di contribuire probabilmente non verranno rimosse dalla mia community di Discourse e, sebbene abbia ancora un piccolo numero di patron e potrei controllare, se iniziassi ad avere una buona partecipazione mentre promuovo il mio programma Patreon, probabilmente perderei il contatto con questo e le cose andrebbero fuori controllo.
Comunque, so che non è un tuo problema in sé, ma sono davvero deluso dal fatto che Patreon non fornisca alcun supporto per queste integrazioni, nonostante le utilizzi nel loro marketing per convincere le persone a iniziare a usare il loro sistema.
Il supporto webhook rende la sincronizzazione più reattiva ai cambiamenti, ma il plugin funzionerà al 100% anche senza di esso. Eseguiremo una sincronizzazione completa ogni 6 ore e cattureremo i nuovi patron, oltre a rimuovere l’accesso ai patron che non lo sono più. Quindi non devi preoccuparti di queste cose.
Per quanto valga, questo plugin è stato creato al 100% da noi di Discourse senza il supporto di Patreon, quindi siamo in grado di mantenerlo funzionante finché la loro API esisterà.