7

Estoy migrando a Oauth 2.0. Mi sitio actual usa JS SDK, tiene un botón de inicio de sesión fb, luego estoy accediendo a Graph para obtener los detalles de los usuarios.Oauth 2.0 no puede obtener un token de acceso del valor 'código' signed_request

Tengo problemas para obtener un token de acceso para obtener estos datos de Graph.

Un problema podría ser que el diálogo JS SDK no redirecciona mi URL a la URL que dice que debería, es decir, la que tiene? Code = XXXXXXX que puedo usar para obtener un token de acceso.

Así que he mirado el SDK de PHP (estoy usando ASP) para ver cómo lo hace. Analicé el valor de la solicitud firmada en la cookie, obtuve el valor en el parámetro 'código' para agregarlo a la URL del token, pero no puedo obtener un token de acceso. Estos son los valores que estoy usando:

Analizada datos 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 

Esta es la respuesta:

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

¿El valor de código parecen estar en el formato correcto? ¿Alguna idea de lo que está mal?

+0

¿No olvida "y" después de "client_secret = XXXXXX"? – dmirkitanov

+0

Disculpe, es un problema de formateo allí. Tengo el ampersand en mi código. Voy a enmendar eso. – DAC84

Respuesta

10

exactamente el mismo problema aquí ...

solución: si el código se extrae de la carga útil de galletas, deje parámetro redirect_uri vacío

tratar

URL simbólico: 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

trabajó para mí!

+0

Ah, eso funcionó! Es una pena que los documentos de Facebook digan que lo incluyan. Muchas gracias. – DAC84

+2

La documentación de Facebook (no) será la muerte de mí –

+4

Jaja, encontré este secreto en el fragmento de Google de una página web eliminada. Para ser más claro para los lectores, 'redirect_uri' debe estar presente, pero se especifica como vacío. – Potatoswatter

Cuestiones relacionadas