Sto utilizzando Twitter per accedere utenti a un sito Web, che sembra funzionare fino a quando non tento di ottenere un token di accesso valido.Perché il mio token di accesso di twitter oauth non è valido/scaduto
require("twitteroauth.php");
require 'twconfig.php';
session_start();
$twitteroauth = new TwitterOAuth(YOUR_CONSUMER_KEY, YOUR_CONSUMER_SECRET);
$request_token = $twitteroauth->getRequestToken('http://****/tw_response.php');
$oauth_token = $request_token['oauth_token'];
$_SESSION['oauth_token'] = $oauth_token;
$oauth_token_secret = $request_token['oauth_token_secret'];
$_SESSION['oauth_token_secret'] = $oauth_token_secret;
if ($twitteroauth->http_code == 200) {
url = $twitteroauth->getAuthorizeURL($request_token['oauth_token']);
header('Location: '.$url);
} else {
die('Something wrong happened.');
}
Questo sembra funzionare correttamente, mi reindirizzamento a Twitter per accedere e confermare l'accesso, dopo di che mi torna alla tw_response.php (il mio richiamata url), con le seguenti variabili nella url:
http://example.com/login.php?oauth_token=sO3X...yj0k&oauth_verifier=Ip6T...gALQ
In tw_response.php, quindi, provo ad ottenere il token di accesso, ma viene segnalato come non valido. Ho provato ad utilizzare var_dump
per visualizzare il contenuto del token di accesso come segue:
require("twitteroauth.php");
require 'twconfig.php';
session_start();
$oauth_verifier = $_REQUEST['oauth_verifier'];
$oauth_token = $_SESSION['oauth_token'];
$oauth_token_secret = $_SESSION['oauth_token_secret'];
$twitteroauth = new TwitterOAuth(YOUR_CONSUMER_KEY, YOUR_CONSUMER_SECRET, $oauth_token, $oauth_token_secret);
$access_token = $twitteroauth->getAccessToken($data['oauth_verifier']);
var_dump($access_token);
Il risultato della var_dump
termina in "non valido/scaduto Token":
array(8) {
["oauth_url"] => string(104) ""1.0" encoding="UTF-8"?>/oauth/access_token?oauth_consumer_key=ceE...9Dg"
["oauth_nonce"]=> string(32) "c52...d07"
["oauth_signature"]=> string(28) "ry7...Fcc="
["oauth_signature_method"]=> string(9) "HMAC-SHA1"
["oauth_timestamp"]=> string(10) "1359031586"
["oauth_token"]=> string(40) "sO3...j0k"
["oauth_verifier"]=> string(43) "Ip6...ALQ"
["oauth_version"]=> string(63) "1.0 Invalid/expired Token "
}
questo è usando la libreria Abraham Williams'? Sembra che 'getAccessToken (code)' funzioni solo quando la pagina che chiamate fornisce all'utente un codice da digitare dopo aver consentito l'accesso. Penso che tu debba usare entrambe le informazioni quando usi callback-url. – NoBugs
Se si utilizza l'URL di richiamata valido, non è necessario verificare 'oauth_verifier' con le proprie credenziali. verificarlo comunque. – Amelia
L'orologio del server funziona correttamente? –