web-dev-qa-db-fra.com

Puis-je utiliser localhost comme rappel d'URL dans un Webhook de messagerie

Bonsoir, je viens de voir que Facebook a publié son toolkit bot bot et j'ai immédiatement sauté dessus pour en apprendre plus à ce sujet et peut-être essayer de faire le mien.

Mon problème est que je n'ai pas de site Web https en cours d'exécution et qu'il nécessite une URL valide https. J'ai essayé d'utiliser mon serveur Web local doté d'un certificat, mais cela ne fonctionne pas. 

Ma question est de savoir s'il est possible de le faire en utilisant une URL locale.

Merci d'avance

12
Query

En fait, c'est possible avec localhost. Utilisez ngrok . Il vous permet d'ouvrir localhost sur le Web public, via http ou https. Cela ne devrait cependant être utilisé que pour les tests.

16
dankram

Si vous voulez tester les Webhooks sur votre environnement local, je voudrais essayer ultrahook.com, vous pouvez obtenir une clé API gratuitement et l'outil crée un tunnel à partir d'une URL publique vers votre ordinateur. Ceci est de leur page de FAQ:

Vous téléchargez et exécutez le client UltraHook sur votre ordinateur. Il Se connecte aux serveurs UltraHook dans le cloud et crée un tunnel depuis un point de terminaison public Sur nos serveurs vers votre ordinateur. Toutes les demandes HTTP POST Envoyées au point de terminaison public seront envoyées via le tunnel Et transmises à un point de terminaison privé accessible à partir de votre ordinateur.

Je l'ai utilisé pour tester les Webhooks de différents fournisseurs (comme les passerelles de paiement). Sur votre ordinateur, vous pouvez exécuter quelque chose comme:

ultrahook <subdomain> http://localhost:8000/webhook/

puis configurez l'URL Webhook dans votre service externe sur quelque chose comme <subdomain>.ultrahook.com

1
julianm

Ma question est de savoir s'il est possible de le faire en utilisant une URL locale.

Non, bien sûr, ce n’est pas le cas, car ce que cela signifie réellement, c’est que Facebook envoie une requête à votre serveur, ce qui n’est guère possible avec localhost.


Un certificat SSL valide pour votre site Web est facile à obtenir gratuitement de nos jours, via LetsEncrypt. Et même si cela n’est pas disponible sur votre serveur, il existe toujours StartSSL, qui fournit des certificats de base gratuitement. Tout ce dont vous avez besoin, c'est d'un serveur sur lequel vous pouvez les installer, les télécharger ou tout autre mécanisme fourni par votre hébergeur. (Et s’ils n’en fournissent pas, il serait peut-être temps de passer à autre chose.)

0
CBroe