PHPでFacebookユーザーログインを構築しようとしています。CSRF state token does not match one provided.
ユーザー情報を取得できますが、ログインが成功すると、ログインするたびにサーバーにエラー ログが作成されます。
Facebookログインを作成するためのGoogleに関する多くのチュートリアルを見つけました。同じ問題に関する他の投稿もいくつか見つけました。彼らは getLoginUrl() を複数回呼び出すことを非難しているようですが、私はそうしていません。また、sdk に付属のサンプルを使用しているので、なぜそれが箱から出して壊れているのか混乱しています。
<?php
require 'facebook.php';
$facebook = new Facebook(array(
'appId' => 'APP_ID',
'secret' => 'APP_SECRET',
));
$user = $facebook->getUser();
if ($user) {
try {
$user_profile = $facebook->api('/me');
$logoutUrl = $facebook->getLogoutUrl();
echo "<a href=" . $logoutUrl . ">Logout</a><br><br>";
print_r($user_profile);
}
catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
else {
$loginUrl = $facebook->getLoginUrl();
echo "<a href=" . $loginUrl . ">Login</a>";
}
?>