2011-03-16 4 views
0

Twitter Oauth를 사용하여 로그인하려고합니다.Twitter OAuth 문제

index.php를

<?php 
require ("twitteroauth/twitteroauth.php"); 
session_start(); 

// The TwitterOAuth instance 
$twitteroauth = new TwitterOAuth('00000000000000000', '0000000000000000000000000000000'); 

// Requesting authentication tokens, the parameter is the URL we will be redirected to 
$request_token = $twitteroauth->getRequestToken('http://bakasura.in/twitter/twitter_oauth.php'); 

// Saving them into the session 
$_SESSION['oauth_token'] = $request_token['oauth_token']; 
$_SESSION['oauth_token_secret'] = $request_token['oauth_token_secret']; 

// If everything goes well.. 
if($twitteroauth->http_code==200){ 
    // Let's generate the URL and redirect 
    $url = $twitteroauth->getAuthorizeURL($request_token['oauth_token']); 
    header('Location: '. $url); 
} else { 
    // It's a bad idea to kill the script, but we've got to know when there's an error. 
    die('Something wrong happened.'); 
} 

?> 

는 인증 페이지로 나를 취 페이지가로드되면 언제가 다시 http://bakasura.in/twitter/twitter_oauth.php

<?php 
require ("twitteroauth/twitteroauth.php"); 

if(!empty($_GET['oauth_verifier']) && !empty($_SESSION['oauth_token']) && !empty($_SESSION['oauth_token_secret'])){ 

    // We've got everything we need 
    echo "Authorized"; 

} else { 

    // Something's missing, go back to square 1 
    //header('Location: twitter_login.php'); 
    echo "Not Authorized"; 

} 
?> 

에 나를 소요 허용을 클릭 그리고 "공인 없음"말한다

여기에서 시도해 볼 수 있습니다. http://bakasura.in/twitter/

+0

세션 변수가 index.php에서 설정되지 않는 것처럼 보입니다. 전달. –

답변

1

두 번째 페이지에서 세션을 시작하지 않았습니다. session_start()를 호출하지 않는 한, 세션 변수를 사용할 수 없습니다.

일부 PHP 설정은 세션을 자동으로 시작하도록 php.ini를 구성했지만, 서버 설정을 보면 전송하지 않습니다 귀하의 두 번째 페이지에서 귀하의 세션에 대한 세션이 시작되지 않았 음을 확신 할 수 있도록 두 번째 페이지에서 PHP 세션을위한 쿠키 헤더를 출력하십시오 ...

+0

그게 문제였습니다. 감사. 그냥 확인 - 다시 한번 index.php로 돌아 가면 권한이 부여됩니다. 다시 그 허가를 허락 해달라고 요청했다. 한 번 해보고 다음에 자동 로그인 할 수 있습니까? –

+0

OAuth 구성 요소의 사용자 인증 정보를 특정 사용자에게 저장해야합니까? –