0
我想建立一個Facebook用戶登錄使用PHP。我能夠獲取用戶信息,但每次登錄都會在登錄成功後在我的服務器CSRF state token does not match one provided.
上創建錯誤日誌。Facebook的登錄CSRF
我發現很多關於谷歌創建Facebook登錄的教程。我還發現了同樣的問題的幾個其他職位。他們似乎責怪不止一次地調用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>";
}
?>
有您在Facebook開發者網站的應用設置中允許您的網址? –
是的,我有。任何地方我都可以找到將我輸入域名的URL。 –