我有以下代码,允许我的网站用户通过Twitter登录,工作正常,并在授权后返回网站时显示屏幕名称。
<?php
session_start();
require 'twitteroauth/autoload.php';
use Abraham\TwitterOAuth\TwitterOAuth;
define('CONSUMER_KEY', '');
define('CONSUMER_SECRET', '');
define('OAUTH_CALLBACK', '');
if (!isset($_SESSION['access_token'])) {
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
$request_token = $connection->oauth('oauth/request_token', array('oauth_callback' => OAUTH_CALLBACK));
$_SESSION['oauth_token'] = $request_token['oauth_token'];
$_SESSION['oauth_token_secret'] = $request_token['oauth_token_secret'];
$url = $connection->url('oauth/authorize', array('oauth_token' => $request_token['oauth_token']));
echo $url;
} else {
$access_token = $_SESSION['access_token'];
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $access_token['oauth_token'], $access_token['oauth_token_secret']);
$user = $connection->get("account/verify_credentials");
echo $user->screen_name;
}
然而,当刷新页面时,屏幕名称消失了,由于一次性身份验证令牌,我必须再次使用Twitter进行授权。
有Twiends等网站,您可以通过Twitter登录,然后可以关注其他人获得积分。这显然会对Twitter提出超过1个请求,因为您可以关注多个人以获得更多硬币,但您只需登录并授权Twitter一次。像这样的网站如何重新使用令牌?
任何帮助都会非常感谢你。