7

Sto migrando a Oauth 2.0. Il mio sito attuale utilizza JS SDK, ha un pulsante fb-login, quindi accedo a Graph per ottenere i dettagli degli utenti.Oauth 2.0 non può ottenere un token di accesso dal valore 'code' signed_request

Sto riscontrando problemi nel ricevere un token di accesso per ottenere questi dati da Graph.

Un problema potrebbe essere che la finestra di dialogo dell'SDK di JS non reindirizzasse il mio all'URL che dice dovrebbe essere quello con codice? XXXXXXX che posso quindi utilizzare per ottenere un token di accesso.

Quindi ho visto l'SDK di php (sto usando ASP) per vedere come funziona. Ho analizzato il valore della richiesta firmata nel cookie, ottenuto il valore nel parametro 'code' da aggiungere all'URL del token ma non riesco a ottenere un token di accesso. Questi sono i valori che sto usando:

Parsed dati signed_request:

{"algorithm":"HMAC-SHA256","code":"2.AQCovUOFCduELbna.3600.1323900000.1-773555243|Y_cW4riF4K7el_9a4oVNjL0qvZc","issued_at":1323895617,"user_id":"XXXXXXXXXX"} 

Token URL: https://graph.facebook.com/oauth/access_token? 
      client_id=XXXXXXXX& 
      redirect_uri=XXXXXXXX& 
      client_secret=XXXXXX& 
      code=2.AQCovUOFCduELbna.3600.1323900000.1-773555243|Y_cW4riF4K7el_9a4oVNjL0qvZc 

Questa è la risposta:

{"error":{"message":"Error validating verification code.","type":"OAuthException"}} 

Vuol il valore del codice sembra essere nel formato corretto? Qualche idea su cosa c'è che non va?

+0

Non dimenticare "&" dopo "client_secret = XXXXXX"? – dmirkitanov

+0

Siamo spiacenti, questo è un problema di formattazione lì. Ho la e commerciale nel mio codice. Lo correggerò. – DAC84

risposta

10

esattamente lo stesso problema qui ...

soluzione: se il codice viene estratto dal cookie di carico utile, lasciare il parametro vuoto redirect_uri

provare

URL Token: https://graph.facebook.com/oauth/access_token?client_id=XXXXXXXX&redirect_uri=&client_secret=XXXXXX&code=2.AQCovUOFCduELbna.3600.1323900000.1-773555243|Y_cW4riF4K7el_9a4oVNjL0qvZc

ha funzionato per me!

+0

Ah quello ha funzionato! Peccato che i documenti di Facebook dicano di includerlo. Grazie mille. – DAC84

+2

La documentazione di Facebook (non) sarà la mia morte –

+4

Haha, ho trovato questo segreto nell'estratto di Google di una pagina web cancellata. Per essere più chiaro ai lettori, 'redirect_uri' deve essere presente, ma specificato come vuoto. – Potatoswatter

Problemi correlati