セキュリティ上の理由から、Facebook アプリで「Require App Secret」を有効にすることにしました。その後、クラス " " の^2.0
メソッド " " で appsecret_proof を送信していないため、Laravel Socialite バージョン " " が機能していないことがわかりました。getUserByToken
Laravel\Socialite\Two\FacebookProvider
私は簡単な修正を行うことにしました:
/**
* {@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);
}
この要件に対するより良い解決策はありますか? このユースケースの公式パッチはありますか?
ありがとう