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!
Se los preguntaré. Ya me dijeron que no brindan soporte para la API, lo cual es una pena. No me di cuenta de que Patreon es una empresa limitada cuando comencé con esto.
OK, así que usaré las opciones obsoletas. ¿Debo usar también la API v1, webhook? Intenté ambas originalmente, pero no lo he intentado en unas pocas semanas.
Gracias, @Falco. Acabo de cambiar todo de nuevo y modifiqué todas las claves y secretos de la API. Sin embargo, la prueba manual está devolviendo el código de estado 200, por lo que las llamadas están llegando. También noté esta mañana, cuando revisé el plugin de Discourse / Patreon, que los datos se habían sincronizado hace 5 horas. Estaba durmiendo hace cinco horas, así que algo está sucediendo, pero todavía veo el mensaje rojo “Webhook Paused” (Webhook en pausa) y el botón “Resume” (Reanudar) genera otro error.
De todos modos, solicitaré los registros detallados al equipo de Patreon y veré qué dicen.
He encontrado una respuesta de Soporte de Patreon en mi bandeja de entrada sobrecargada, y simplemente dicen que no pueden proporcionar los registros. También veo que cerraron su foro de soporte comunitario.
Todavía veo estos errores, aunque parte de la sincronización está funcionando, porque veo mensajes que muestran que el sistema se sincronizó mientras dormía, pero los nuevos Patreons todavía no se agregan automáticamente cuando realizan una contribución. Estoy solucionando eso creando invitaciones que incluyen acceso a varias categorías según el nivel del nuevo mecenas, pero tengo que enviarlas manualmente, por lo que no es muy fluido. También me preocupa que las personas que dejan de contribuir probablemente no sean eliminadas de mi comunidad de Discourse y, aunque todavía tengo un pequeño número de mecenas y podría verificarlo, si empiezo a tener una buena participación a medida que promociono mi programa de Patreon, probablemente perderé el contacto con esto y las cosas se descontrolarán.
De todos modos, sé que no es tu problema como tal, pero estoy realmente decepcionado de que Patreon no brinde ningún soporte para estas integraciones, a pesar de usarlas en su marketing para que la gente comience a usar su sistema.
El soporte de webhook hace que la sincronización reaccione a los cambios más rápido, pero el plugin funcionará al 100% sin él. Haremos una sincronización completa cada 6 horas y capturaremos a los nuevos patrocinadores, así como eliminaremos el acceso a los patrocinadores que se hayan ido. Así que no tienes que preocuparte por ese tipo de cosas.
Para que conste, este plugin fue creado al 100% por nosotros en Discourse sin el apoyo de Patreon, por lo que podemos mantenerlo funcionando mientras exista su API.