Php Facebook访问令牌正在失去生产中的所有作用域

Php Facebook访问令牌正在失去生产中的所有作用域,php,facebook,facebook-graph-api,facebook-javascript-sdk,facebook-php-sdk,Php,Facebook,Facebook Graph Api,Facebook Javascript Sdk,Facebook Php Sdk,直到3天前,我们的登录服务还可以正常工作。现在它被Facebook oAuth的一个未知问题打破了 我们的应用程序(使用本机FBSDK使用React Native构建),向Facebook请求访问令牌并将其转发到我们的API LoginManager.logInWithReadPermissions(['public_profile','email']) 然后,我们的API尝试根据Facebook Graph API验证令牌。我们基本上是这样做的: public static function

直到3天前,我们的登录服务还可以正常工作。现在它被Facebook oAuth的一个未知问题打破了

我们的应用程序(使用本机FBSDK使用React Native构建),向Facebook请求访问令牌并将其转发到我们的API

LoginManager.logInWithReadPermissions(['public_profile','email'])

然后,我们的API尝试根据Facebook Graph API验证令牌。我们基本上是这样做的:

public static function getInformationFromFacebook($accessToken)
{
    $facebook = new Facebook([
        'app_id' => config('services.facebook.app_id'),
        'app_secret' => config('services.facebook.app_secret'),
        'default_graph_version' => config('services.facebook.default_graph_version'),
    ]);

    try {
        $response = $facebook
            ->get('/me?fields=first_name,last_name,email,picture.type(large)', $accessToken);
    } catch (FacebookResponseException $e) {
        Log::error(sprintf('Graph returned an error: %s', $e->getMessage()));

        throw new \Exception("Facebook graph error.");
    } catch (FacebookSDKException $e) {
        Log::error(sprintf('Facebook SDK returned an error: %s', $e->getMessage()));

        throw new \Exception("Facebook SDK error.");
    }

    $graph = $response->getGraphUser();

    return [
        'first_name' => $graph->getFirstName(),
        'last_name' => $graph->getLastName(),
        'email_address' => $graph->getEmail(),
        'picture' => $graph->getPicture()->getUrl(),
    ];
}
这段代码使用Laravel5.2,运行于PHP7.2和本机FacebookSDK

预期的行为是一个包含用户数据的数组,但它只在本地环境下工作,当我们尝试在暂存服务器上调试时,用户访问令牌中的作用域将丢失

我们发现使用这个Facebook调试工具时,我们的作用域丢失了

// The OAuth 2.0 client handler helps us manage access tokens
$oAuth2Client = $facebook->getOAuth2Client();

// Get the access token metadata from /debug_token
$tokenMetadata = $oAuth2Client->debugToken($accessToken);
echo '<h3>Metadata</h3>';
var_dump($tokenMetadata);die;
当我们更改对暂存环境的调用时,结果是

["scopes"]=>
array(0) {
}
我们尝试了各种方法,甚至更新了SDK

["scopes"]=>
array(0) {
}