我正在使用 abraham 库在我的网站上使用 twitter 登录。
我已经完成了很多教程,但我不明白为什么永远不会调用回调 url。
文件“login.php”正确显示了 twitter 验证表单。点击“登录”只会重定向到https://api.twitter.com/oauth/authenticate。但是,当我单击“取消”时,它会重定向到指定的回调文件。
我为方法“getRequestToken”提供了一个回调 url,并在 twitter 开发网站的应用程序设置中设置了相同的 url。我已将应用程序访问权限设置为“只读”并选中“允许此应用程序用于使用 Twitter 登录”。
这是我的文件:
登录.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";
}
?>
推特-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';
?>
提前感谢您的帮助。