obtener - cómo verificar el token de acceso de Facebook?
obtener access token facebook (4)
Access Token
intercambio para Mobile Number and Country Code
(lado del servidor O lado del cliente)
Puede obtener el mobile number
con su access_token
con esta API
https://graph.accountkit.com/v1.1/me/?access_token=xxxxxxxxxxxx . Tal vez, una vez que tenga el mobile number
y la id
, puede trabajar con él para verificar al usuario con su server & database
.
xxxxxxxxxx
arriba es el Access Token
Ejemplo de respuesta:
{
"id": "61940819992708",
"phone": {
"number": "+917382923912",
"country_prefix": "91",
"national_number": "7382923912"
}
}
Auth Code
Exchange para Access Token
(lado del servidor)
Si tiene un Auth Code
, primero puede obtener el Access Token
con esta API
: https://graph.accountkit.com/v1.1/access_token?grant_type=authorization_code&code=xxxxxxxxxx&access_token=AA|yyyyyyyyyy|zzzzzzzzzz
xxxxxxxxxx
, yyyyyyyyyy
y yyyyyyyyyy
anteriores son el Auth Code
, el App ID
App Secret
y el App Secret
respectivamente.
Ejemplo de respuesta
{
"id": "61940819992708",
"access_token": "EMAWdcsi711meGS2qQpNk4XBTwUBIDtqYAKoZBbBZAEZCZAXyWVbqvKUyKgDZBniZBFwKVyoVGHXnquCcikBqc9ROF2qAxLRrqBYAvXknwND3dhHU0iLZCRwBNHNlyQZD",
"token_refresh_interval_sec": 2592000
}
Nota: Esto es preferible en el server-side
del server-side
ya que la API
requiere la APP Secret
que no debe shared
por security reasons
.
Buena suerte.
solo hay algo que el servidor tiene que hacer; simplemente verifique la validez de cualquier token de acceso.
los clientes envían a la identificación de usuario del servidor y acceso token obtenido por FB.getLoginStatus.
Como esperaba, habría cualquier url que compruebe la validez del token de acceso, como
http://xxx.facebook.com/access_token?=xxxxxxxxxxxxxxxxxxxxxxxxxxxx
eso devuelve si está disponible uno o no.
o hay alguna API (lado del servidor) para eso?
El método oficialmente compatible para esto es:
GET graph.facebook.com/debug_token?
input_token={token-to-inspect}
&access_token={app-token-or-admin-token}
Consulte los documentos del token de verificación para obtener más información.
Un ejemplo de respuesta es:
{
"data": {
"app_id": 138483919580948,
"application": "Social Cafe",
"expires_at": 1352419328,
"is_valid": true,
"issued_at": 1347235328,
"metadata": {
"sso": "iphone-safari"
},
"scopes": [
"email",
"publish_actions"
],
"user_id": 1207059
}
}
Simplemente puede solicitar https://graph.facebook.com/me?access_token=xxxxxxxxxxxxxxxxx si obtiene un error, el token no es válido. Si obtienes un objeto JSON con una propiedad de identificación, entonces es válido.
Lamentablemente, esto solo le dirá si su token es válido, no si proviene de su aplicación.
Solo quería que supieras que hasta hoy estaba obteniendo un token de acceso a la aplicación (a través de la solicitud GET a Facebook), y luego usando el token recibido como token de la app-token-or-admin-token
en:
GET graph.facebook.com/debug_token?
input_token={token-to-inspect}
&access_token={app-token-or-admin-token}
Sin embargo, me acabo de dar cuenta de una mejor forma de hacerlo (con el beneficio adicional de requerir una solicitud GET menos):
GET graph.facebook.com/debug_token?
input_token={token-to-inspect}
&access_token={app_id}|{app_secret}
Como se describe en la documentación de Facebook para tokens de acceso here .