Facebook 平台 - 在 v2.2 中验证 Facebook 用户访问令牌

Facebook Platform - Verifying Facebook User Access Token in v2.2

关于Facebook平台升级到v2.2的问题,特别是这部分:

The previously deprecated REST API has been completely removed in v2.1, and all apps still using it must migrate to using Graph API.

大多数情况下,在我的 Android 和 iOS 应用程序中,我没有使用 REST API。我正在使用 Android SDK 和 iOS SDK。但是,我确实有一个例外。当我打电话给我的服务器登录或实际上做任何事情时,我试图确保尝试 login/access 数据的人确实是他们所说的那个人。我这样做:

$context = stream_context_create(array('http' => array('header'=>'Connection: close\r\n')));
$response = file_get_contents("https://graph.facebook.com/debug_token?input_token=".$accessToken."&access_token=MY_APP_ACCESS_TOKEN", false, $context);
$jsonObject = json_decode($response, true);
$data = $jsonObject["data"];
$facebookId = $this->getFacebookId();

 if(isset($data['is_valid']) && $data['is_valid'] === true) {
        if(isset($data['user_id'])) {
               if($data['user_id'] == $facebookId) {
                    return true;

那里缺少一点代码,但这就是它的要点。获取访问令牌和 facebook id。我使用访问令牌来查看它是否合法,分配给该访问令牌的 user_id 是试图获取信息的人的 ID。如果是这样,我让他们进来。

我的问题是,我是否正确理解这将消失并且我必须使用图表 API 以某种方式做同样的事情?这是如何通过 PHP 中的图表 API 给定来自 Android/iOS 的访问令牌和 facebook id 完成的?

编辑:刚刚意识到这实际上是在 2.0 到 2.1 部分,但问题仍然存在,我应该关注我的服务器端代码吗?

谢谢!

我想我没有什么可担心的。我使用的方法在 Facebook 平台文档中:

https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow/v2.2#checktoken

正在检查访问令牌。此页面上没有任何内容谈论它被弃用。