Webhooks de Patreon fallando

Me pregunto si @Falco o cualquier otra persona podría ayudar.

Recientemente comencé a usar Patreon y configuré un servidor Discourse en un Droplet de Digital Ocean. También instalé el plugin discourse-patreon e ingresé todas las claves, etc., siguiendo este tutorial. Puedo hacer clic en el botón Actualizar datos de Patreon y sincronizar grupos en la página Plugin > Patreon > Filtros, y esto funciona correctamente. Todos mis niveles están disponibles y los he asignado a grupos de Discourse, etc.

Todo parecía estar bien, pero luego recibí un correo electrónico de los servidores de Patreon que decía:
Le escribimos para informarle que un POST de WebHook a https://discourse.martinbaileyphotography.com/patreon/webhook ha fallado. Como resultado, hemos suspendido el envío de más eventos a su URL.

He intentado configurar el cliente con la API 1 según se especifica en esta publicación y con la API 2, cambiando las claves y secretos en consecuencia cada vez, probando los tres eventos obsoletos superiores y los seis inferiores con ambas APIs, y no he encontrado ninguna combinación que funcione.

En los registros de Discourse, he encontrado este mensaje de error:
(patreon) Fallo de autenticación! csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF detectado

He preguntado a Digital Ocean y no bloquean las solicitudes POST ni pueden pensar en ninguna razón en su sistema por la cual esto no funcione, así que estoy atascado. No he encontrado ninguna información útil para ayudar a solucionar esto, por lo que ahora publico aquí (y en el foro de Patreon) con la esperanza de que esto le suene a alguien. ¿Alguien puede ofrecer algún consejo sobre cómo solucionar esto o qué verificar para solucionar este problema más a fondo?

Gracias de antemano por cualquier ayuda que cualquiera pueda proporcionar.

Saludos,
Martin Bailey.

2 Me gusta

Al configurar los webhooks, solo debes habilitar los obsoletos, como se explica en Configure Patreon integration with Discourse, y configurar el secreto en la configuración del sitio.

Si aún fallan, podría ser un problema del lado de Patreon. ¿Podrías pedir a su soporte registros detallados de los fallos?

2 Me gusta

Gracias @Falco,

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 por tu ayuda.

4 Me gusta

Sí, por favor, usa la versión v1.

3 Me gusta

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.

Gracias de nuevo por tu ayuda.

2 Me gusta

Hola @Falco:

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.

Saludos,
Martin.

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.

1 me gusta