javascript重定向为twitter oauth导致无效的oauth_verifier参数

时间:2017-04-10 14:51:27

标签: javascript php twitter oauth url-redirection

我试图做一个Twitter oauth,当我直接访问浏览器上的登录文件时,一切正常,但如果我对登录文件执行javascript window.location.href,则会抛出一个异常Error processing your OAuth request: Invalid oauth_verifier parameter

这是我的login.php文件的代码:

ini_set('session.save_path','/xxx/socialmedia/session');
session_start();
$twitterKey = 'xxx';
$twitterSecret = 'xxx';
$callback = "https://xxx/socialmedia/twittercallback";
require_once("/xxx/twitteroauth/vendor/autoload.php");
use Abraham\TwitterOAuth\TwitterOAuth;
$twitter = new TwitterOAuth($twitterKey,$twitterSecret);
$result = $twitter->oauth('oauth/request_token', ['oauth_callback' => $callback]);
$_SESSION['oauth_token'] = $result['oauth_token'];
$_SESSION['oauth_token_secret'] = $result['oauth_token_secret'];
session_write_close();
$url = $twitter->url('oauth/authorize', array('oauth_token' => $result['oauth_token']));
header("Location: $url");

这是我的回调代码:

ini_set('session.save_path','/xxx/socialmedia/session');
session_start();
$twitterKey = 'xxx';
$twitterSecret = 'xxx';
require_once("/xxx/twitteroauth/vendor/autoload.php");
$twitter = new \Abraham\TwitterOAuth\TwitterOAuth($twitterKey,$twitterSecret,$_SESSION['oauth_token'],$_SESSION['oauth_token_secret']);
try {
  $access_token = $twitter->oauth("oauth/access_token", ["oauth_verifier" => $_REQUEST['oauth_verifier']]);
}catch(\Exception $e){
  print_r($e);
}

不太清楚这里有什么问题,但是当我直接访问浏览器上的登录文件时它会起作用,但如果我从javascript重定向转到登录文件,我会收到错误。

1 个答案:

答案 0 :(得分:0)

当需要/ socialmedia / twittercallback

时,我重定向为//xxx.com/socialmedia/twittercallback