2016-04-12 24 views
12

sto cercando di impostare il Facebook Messenger API e sto ottenendo questo errore quando si tenta di aggiungere il WebHook:Facebook Messenger API "URL Impossibile convalidare"

L'URL non poteva essere convalidato. La verifica della callback non è riuscita con i seguenti errori: curl_errno = 60; curl_error = Problema con il certificato SSL: impossibile ottenere il certificato emittente locale; Codice di stato HTTP = 200; Messaggio HTTP = Connessione stabilita

Ho configurato il mio server NodeJS utilizzando il codice fornito nel tutorial. Ecco l'url: https://stackoverload.me/chatter/webhook

EDIT ECCO LA RISOLUZIONE (qualcuno ha voluto vedere il codice):

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

Ti manca un certificato intermedio nella catena, quindi il tuo certificato non può essere verificato come originale. https://www.sslshopper.com/ssl-checker.html#hostname=stackoverload.me ha istruzioni su cosa fare. – CBroe

+0

@CBroe Sto affrontando lo stesso errore, anche se sto distribuendo su parseapp.com, qualche idea? – dhaval

+2

Ho aggiunto un file CA al mio server e ha funzionato bene –

risposta

2

dimenticato di rispondere a questa, ma ho scoperto che ho aggiunto un file ca e parametro per il mio server https e Facebook quindi accettato.

0

stava cercando di setup FB messenger webhook con una forte verifica token. Meno così: o\/ERviEE\/vt0|<E|\|

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

Lo stesso è stato verificato nel codice:

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

Tuttavia, il valore ricevuto da FB è: o\\/ERviEE\\/vt0|<E|\\|

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

Questo è strano. Non sembra esserci alcun riferimento al documento in quanto tale che parla di come Facebook sfugge caratteri speciali per verificare i token o simili. Non sono sicuro che questo accada anche per altre entità.

Conclusione: è necessario essere un po 'cauti quando si usano caratteri speciali per verificare i token.

Perché, Facebook scappa caratteri speciali per i token di verifica dei webhook.

Problemi correlati