2016-04-12 17 views
12

Próbuję skonfigurować Facebook Messenger API i dostaję ten błąd, gdy próbuję dodać WebHook:Facebook Messenger API „URL nie może zostać zatwierdzone”

URL nie może być zatwierdzony. Weryfikacja wywołania zwrotnego nie powiodła się z następującymi błędami: curl_errno = 60; curl_error = Problem z certyfikatem SSL: nie można uzyskać lokalnego certyfikatu wystawcy; Kod stanu HTTP = 200; Komunikat HTTP = Połączenie ustanowione

Skonfigurowałem swój serwer NodeJS za pomocą kodu podanego w samouczku. Oto url: https://stackoverload.me/chatter/webhook

EDIT oto rozdzielczości (ktoś chciał zobaczyć kod):

var express = require('express'); 
 

 
var fs = require('fs'); 
 
var https = require('https'); 
 

 
var app = express(); 
 
app.use(express.static('public')); 
 

 
// SSL 
 
https.createServer(
 
    { 
 
     ca: fs.readFileSync(__dirname + '/server.ca'), 
 
     key: fs.readFileSync(__dirname + '/server.key'), 
 
     cert: fs.readFileSync(__dirname + '/server.cert') 
 
    } 
 
, app).listen(443, function() { 
 
    console.log('Server is now running.'); 
 
}); 
 

 
// HTTP redirect to SSL 
 
express() 
 
    .get('*', function(req,res){ 
 
     res.redirect('https://example.com' + req.url) 
 
    }) 
 
    .listen(80);

+2

Brakuje pośredniego certyfikatu w łańcuchu, więc certyfikat nie może zostać zweryfikowany jako autentyczny. https://www.sslshopper.com/ssl-checker.html#hostname=stackoverload.me zawiera instrukcje dotyczące tego, co należy zrobić. – CBroe

+0

@CBroe Mam do czynienia z tym samym błędem, chociaż wdrażam na parseapp.com, jakiś pomysł? – dhaval

+2

Dodałem plik CA na mój serwer i działało dobrze –

Odpowiedz

2

Zapomniałem odpowiedzieć na to pytanie, ale okazało się, że dodałem plik ca a parametr do mojego serwera https i Facebooka następnie go zaakceptował.

0

próbował setup FB messenger webhook z silnym zweryfikować tokenu. Raczej, jak to: o\/ERviEE\/vt0|<E|\|

o/ERviEE/vt0|<E|\| verify token set

To samo zostało zweryfikowane w kodzie:

req.query['hub.verify_token'] === 'o\/ERviEE\/vt0|<E|\|' 

Jednak wartość uzyskaną z FB: o\\/ERviEE\\/vt0|<E|\\|

o\/ERviEE\/vt0|<E|\| verify token get

To jest dziwne. Wydaje się, że nie ma odniesienia do dokumentu jako takiego, który mówi o tym, jak Facebook wymyka się ze znaków specjalnych w celu sprawdzenia tokenów lub podobnych. Nie jestem pewien, czy dzieje się tak również w przypadku innych podmiotów.

Wniosek: należy zachować ostrożność podczas używania znaków specjalnych do weryfikacji tokenów.

Ponieważ Facebook wymyka się znakom specjalnym dla tokenów weryfikacyjnych webhooków.

Powiązane problemy