facebook ssl facebook-messenger

Facebook Messenger Platform. Configuración de webhook con SSL



facebook-messenger (6)

Finalmente, Facebook lanzó la API para su mensajero . Esto nos permitirá crear bots de chat.

En la guía de inicio , necesito configurar webhook. Esto requiere un servidor web que reside en un dominio específico y debe usar una conexión SSL.

Tengo VPS que tiene IP estática. Hice un certificado autofirmado y creé un servidor web Node JS simple que usa este certificado. En primer lugar necesito verificar el token para webhook:

app.get(''/webhook/'', function (req, res) { if (req.query[''hub.verify_token''] === ''<validation_token>'') { res.send(req.query[''hub.challenge'']); } res.send(''Error, wrong validation token''); })

Luego lancé esta aplicación de servidor y en el panel de mi aplicación de Facebook, hago clic para verificar y guardar el botón.

Me lanza este mensaje de error:

Esto significa que Facebook no quiere aceptar mi certificado autofirmado .

Esto trae varias preguntas:

¿Necesito usar certificados SSL que solo provean las Autoridades de Certificación para poder trabajar con facebook messenger?

Trabajar con Facebook Messenger es mucho más difícil que Telegram.


Desplegué mi bot a Heroku, y ellos ofrecen fácilmente conexiones HTTPS. Para el desarrollo local, uso ngrok , que también admite el reenvío HTTPS.

Para los recién llegados, escribí este pequeño tutorial para aquellos que desean comenzar con la API de Facebook Messenger (Bot), desde la primera línea de código hasta la implementación de Heroku. Descubrí que Heroku era el ajuste perfecto para un proyecto de este tipo, ya que usé el flask Python + gunicorn , todo lo que necesitaba para el despliegue realmente tomó 5 minutos, y Heroku se encargó del resto.


Extraído de here :

Las nuevas suscripciones de webhook deben usar una URL de devolución de llamada HTTPS segura a partir de v2.5. Con la próxima versión de Graph API, dejaremos de enviar actualizaciones a las URL de devolución de llamada que no sean HTTPS.
Si necesita más información sobre la configuración de HTTPS para su URL de devolución de llamada, consulte la Guía de introducción de Let''s Encrypt y las instrucciones de instalación del certificado SSL de Digicert.

Y desde here , y como @saturngod dijo:

Los certificados autofirmados no serán aceptados por Facebook. Letsencrypt certificados de Letsencrypt funcionan perfectamente.



Para verificar el uso del gancho web: -

$_REQUEST["hub_token"] and $_REQUEST["hub_challenge"];

Primero verifique el token a su token de página y luego imprima: -

echo $_REQUEST["hub_challenge"]; exit;