Webhook di Patreon non funzionanti

Mi chiedo se @Falco o qualcun altro possa aiutare.

Ho recentemente iniziato a utilizzare Patreon e ho configurato un server Discourse su un Droplet di Digital Ocean. Ho anche installato il plugin discourse-patreon e inserito tutte le chiavi e altro seguendo questa guida. Riesco a cliccare sul pulsante “Aggiorna dati Patreon e sincronizza gruppi” nella pagina Plugin > Patreon > Filtri, e funziona correttamente. Tutti i miei livelli sono disponibili e li ho assegnati a gruppi Discourse, ecc.

Tutto sembrava andare bene, ma poi ho ricevuto un’email dai server Patreon che diceva:
“Vi scriviamo per informarvi che un POST WebHook a https://discourse.martinbaileyphotography.com/patreon/webhook non è riuscito. Di conseguenza, abbiamo sospeso l’invio di ulteriori eventi al tuo URL.”

Ho provato a configurare il client sia con API 1, come specificato in questo post, sia con API 2, modificando di conseguenza le chiavi e i segreti ogni volta, provando i primi tre eventi deprecati e gli ultimi sei con entrambe le API, ma non riesco a trovare una combinazione che funzioni.

Nei log di Discourse ho trovato questo messaggio di errore:
(patreon) Authentication failure! csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF rilevato

Ho chiesto a Digital Ocean e mi hanno confermato che non bloccano le richieste POST e non riescono a pensare a nessuna ragione nel loro sistema per cui questo non dovrebbe funzionare, quindi sono bloccato. Non riesco a trovare informazioni utili che mi aiutino a risolvere il problema, quindi ora scrivo qui (e anche nel forum di Patreon) sperando che questo suoni familiare a qualcuno. Qualcuno può offrire consigli su come risolvere il problema o su cosa controllare per approfondire la risoluzione del problema?

Grazie in anticipo per qualsiasi aiuto chiunque possa fornire!

Cordiali saluti,
Martin Bailey.

Quando configuri i webhook, dovresti abilitare solo quelli deprecati, come spiegato in Configure Patreon integration with Discourse, e impostare il segreto nelle impostazioni del sito.

Se continuano a fallire, potrebbe trattarsi di un problema lato Patreon. Puoi chiedere al loro supporto i log dettagliati relativi ai fallimenti?

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 per il tuo aiuto.

Sì, usa la versione v1 per favore.

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.

Grazie ancora per il tuo aiuto.

Ciao @Falco,

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.

Saluti,
Martin.

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à.