如何validationFacebook访问令牌?

只有服务器必须做的事情; 只要检查任何访问令牌的有效性。

客户端向服务器发送用户标识和由FB.getLoginStatus获取的访问令牌。

正如我所料,将有任何url,检查访问令牌的有效性,如

http://xxx.facebook.com/access_token?=xxxxxxxxxxxxxxxxxxxxxxxxxxxx

返回是否可用。

或者有没有任何API(服务器端)?

官方支持的方法是:

GET graph.facebook.com/debug_token? input_token={token-to-inspect} &access_token={app-token-or-admin-token} 

有关更多信息,请参阅支票令牌文档 。

一个示例回应是:

 { "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 } } 

如果出现错误,您可以简单地请求https://graph.facebook.com/me?access_token=xxxxxxxxxxxxxxxxx ,令牌无效。 如果你得到一个带有id属性的JSON对象,那么它是有效的。

不幸的是,这只会告诉你,如果你的令牌是有效的,而不是如果它来自你的应用程序。

只是想让你知道,直到今天我第一次获得应用程序访问令牌(通过GET请求到Facebook),然后使用收到的令牌作为app-token-or-admin-token

 GET graph.facebook.com/debug_token? input_token={token-to-inspect} &access_token={app-token-or-admin-token} 

不过,我刚刚意识到了这样做的更好方法(还有一个更less的GET请求):

 GET graph.facebook.com/debug_token? input_token={token-to-inspect} &access_token={app_id}|{app_secret} 

如Facebook 在这里访问令牌文档中所述。

Mobile Number and Country Code交换Access Token (服务器端或客户端)

您可以通过此API https://graph.accountkit.com/v1.1/me/?access_token=xxxxxxxxxxxx获取您的;access_token mobile number 。 也许,一旦你有mobile numberid ,你可以使用它来validation用户与您的server & database

上面的xxxxxxxxxxAccess Token

响应示例:

 { "id": "61940819992708", "phone": { "number": "+917382923912", "country_prefix": "91", "national_number": "7382923912" } } 

Access Token Exchange Auth Code (服务器端)

如果您有Auth Code ,则可以先使用此API获取Access Tokenhttps://graph.accountkit.com/v1.1/access_token?grant_type=authorization_code&code=xxxxxxxxxx&access_token=AA|yyyyyyyyyy|zzzzzzzzzz

xxxxxxxxxxyyyyyyyyyyzzzzzzzzzz分别是Auth CodeApp IDApp Secret

示例响应

 { "id": "61940819992708", "access_token": "EMAWdcsi711meGS2qQpNk4XBTwUBIDtqYAKoZBbBZAEZCZAXyWVbqvKUyKgDZBniZBFwKVyoVGHXnquCcikBqc9ROF2qAxLRrqBYAvXknwND3dhHU0iLZCRwBNHNlyQZD", "token_refresh_interval_sec": 2592000 } 

注意 – 这是server-side首选,因为API需要APP Secret ,由于security reasonsAPI APP Secret并不意味着shared

祝你好运。