2017-04-10 15 views
1

私はtwitter oauthを実行しようとしていますが、ブラウザのログインファイルに直接アクセスするとすべて動作しますが、ログインファイルに対してjavacript window.location.hrefを実行すると例外がスローされますError processing your OAuth request: Invalid oauth_verifier parametertwitterのjavascriptリダイレクトoauthが無効なoauth_verifierパラメータの原因

はここで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のリダイレクトからログインファイルに移動するとエラーが発生します。

答えて

0

/socialmedia/twittercallbackが必要なときに//xxx.com/socialmedia/twittercallbackとしてリダイレクトしていました

関連する問題