我实现使用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