我正在使用亚伯拉罕图书馆在我的网站上使用Twitter登录。
我做了很多教程,但我不明白为什么永远不会调用回调网址。
文件“login.php”正确显示了twitter身份验证表单。点击“登录”只会重定向到https://api.twitter.com/oauth/authenticate。 但是当我点击“取消”时,它会重定向到指定的回调文件。
我给方法“getRequestToken”提供了一个回调网址,并在twitter dev网站的应用程序设置中设置了相同的网址。我已将应用程序访问权限设置为“只读”并选中“允许此应用程序用于使用Twitter登录”。
这是我的档案:
的login.php:
<?php
session_start();
include_once("twitter-config.php");
include_once("lib/twitteroauth-master/twitteroauth/twitteroauth.php");
$connection = new TwitterOAuth($CONSUMER_KEY, $CONSUMER_SECRET);
$request_token = $connection->getRequestToken($OAUTH_CALLBACK); //get Request Token
if( $request_token)
{
$token = $request_token['oauth_token'];
$_SESSION['request_token'] = $token ;
$_SESSION['request_token_secret'] = $request_token['oauth_token_secret'];
switch ($connection->http_code)
{
case 200:
$url = $connection->getAuthorizeURL($token);
//redirect to Twitter .
header('Location: ' . $url);
break;
default:
print_r($connection->http_info);
echo "<br/>Connection with twitter Failed<br/><br/> Date du serveur:" . date("M d Y H:i:s", time()) . " <br/> Date de Twitter: " . $connection->http_header['date'];
break;
}
}
else //error receiving request token
{
echo "Error Receiving Request Token";
}
?>
Twitter的config.php中:
<?php
/**
* @file
* A single location to store configuration.
*/
$CONSUMER_KEY = 'XXXXXXX';
$CONSUMER_SECRET = 'XXXXXXX';
$OAUTH_CALLBACK = 'https://www.xxxxx.com/preprod/users/twitter-signin/oauth.php';
?>
提前感谢您的帮助。