当Facebook应用“需要应用秘密”设置启用时,Laravel Socialite不起作用
问题描述:
出于安全原因,我决定在我的Facebook应用上启用“需要应用秘密”。然后我发现Laravel Socialite版本“^2.0
”没有工作,因为它没有发送类“Laravel\Socialite\Two\FacebookProvider
”的方法“getUserByToken
”的appsecret_proof。当Facebook应用“需要应用秘密”设置启用时,Laravel Socialite不起作用
我决定速战速决:
/**
* {@inheritdoc}
*/
protected function getUserByToken($token)
{
$appsecret_proof= hash_hmac('sha256', $token, $this->clientSecret);//THIS IS MY QUICK FIX
$response = $this->getHttpClient()->get($this->graphUrl.'/'.$this->version.'/me?access_token='.$token.'&appsecret_proof='.$appsecret_proof.'&fields='.implode(',', $this->fields), [
'headers' => [
'Accept' => 'application/json',
],
]);
return json_decode($response->getBody(), true);
}
是否有此要求更好的解决方案?这个用例是否有官方补丁?
谢谢