抱歉,如果有类似该问题的帖子,我检查了一下,但找不到任何..
我正在使用tank_auth_social
Facebook登录。
https://github.com/sicsol/Tank-Auth-Social
也有人提到这个问题,但没有回复。
https://github.com/sicsol/Tank-Auth-Social/issues/2
用户首次登录后从Facebook授予访问权限后,将引发类似这样的异常。
致命错误:未被捕获的OAuthException:必须使用活动访问令牌来查询有关当前用户的信息。在第1058行的/home/hayvanse/public_html/application/libraries/facebook/base_facebook.php中抛出
是的,所以我们不能写令牌,这意味着吗?但是,当我单击登录并可以正常工作时。第一个仅给出异常是由于一个问题,而不是我认为与Facebook令牌无关。
我真的是Facebook连接方面的新手,我更新了Facebook和base_facebook
图书馆,但没有用。
我希望这个问题能够对我有所帮助。这是基于这一行的功能,所以我想知道是否跳过异常,我真的很困惑,整夜都在寻找它:(
protected function throwAPIException($result) {
$e = new FacebookApiException($result);
switch ($e->getType()) {
// OAuth 2.0 Draft 00 style
case 'OAuthException':
// OAuth 2.0 Draft 10 style
case 'invalid_token':
// REST server errors are just Exceptions
case 'Exception':
$message = $e->getMessage();
if ((strpos($message, 'Error validating access token') !== false) ||
(strpos($message, 'Invalid OAuth access token') !== false)) {
$this->setAccessToken(null);
$this->user = 0;
$this->clearAllPersistentData();
}
}
throw $e;
}
请使用此功能更新base_book,请检查链接。主要问题是getuser返回了0。您必须更新base_Facebook文件上的打击代码。(最新SDK)
protected function getCode() {
$server_info = array_merge($_GET, $_POST, $_COOKIE);
if (isset($server_info['code'])) {
if ($this->state !== null &&
isset($server_info['state']) &&
$this->state === $server_info['state']) {
// CSRF state has done its job, so clear it
$this->state = null;
$this->clearPersistentData('state');
return $server_info['code'];
} else {
self::errorLog('CSRF state token does not match one provided.');
return false;
}
}
return false;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句