我實現使用Facebook登錄一個新的應用:
在developers.facebook.com我設定的設置:
應用程序域:(空)
網站網址:http://localhost/site/
客戶端的OAuth登錄:是
網頁的OAuth登錄:是
力網絡OAuth的重新驗證:無
嵌入式瀏覽器的OAuth登錄:沒有
有效的OAuth重定向的URI:http://localhost/site/externallogin/Facebook的API redirect_ui錯誤
而且在我的應用程序的登錄鏈接:
$facebook = new Facebook\Facebook([
'app_id' => FB_APP_ID,
'app_secret' => FB_APP_SECRET,
'default_graph_version' => 'v2.5',
]);
$helper = $facebook->getRedirectLoginHelper();
$permissions = ['email', 'public_profile', 'user_friends'];
$loginUrl = $helper->getLoginUrl("http://localhost/site/externallogin", $permissions);
echo '<a href="' . htmlspecialchars($loginUrl) . '">Log in with Facebook!</a><hr>';
而且我externallogin頁:
$helper = $facebook->getRedirectLoginHelper();
try {
$accessToken = $helper->getAccessToken();
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
但是當我重定向我得到了以下錯誤:
Graph returned an error: Error validating verification code. Please make sure your redirect_uri is identical to the one you used in the OAuth dialog request
我已經嘗試將default_graph_version更改爲2.2,將有效的OAuth重定向URI和返回URL更改爲各種類型,但沒有任何內容,相同。
我已閱讀與此相關的一切,並嘗試了所有的方法,但仍然是相同的。
我不知道什麼可以導致此錯誤。
我的問題是:我如何解決這個錯誤,我正確地獲得訪問令牌。 print 1 print 2
停止隨機揮舞着周圍做無用的東西像改變'default_graph_version'設置。如果你去'http:// localhost/site/externallogin'你的服務器是否自動在末尾添加'/'? – ceejayoz
是的,它增加了/在最後,當我輸入http:// localhost/site/externallogin它將返回http:// localhost/site/externallogin/ – BrunoRamalho
那就是你的問題了。看到我的答案。 – ceejayoz