未定义的索引Slim框架与twitteroauth

时间:2012-05-01 10:19:23

标签: php frameworks twitter-oauth slim

我正在尝试使用twitteroauth PHP API将twitter登录与slim框架集成。 我已经通过在登录,注册,不同文件中的用户以及顶部索引处调用多个模块来划分我的索引页。

在我为fb存储会话之后,我的索引页面被重定向到fb登录,并使用中间件函数$ authorize在所有模块中检查它。

无论如何,我的Twitter登录代码位于fb登录成功后可见的用户页面中。

此外,我将我的页面渲染到jquery移动框架。

twitter按钮代码,即/ user / me。

<a class="twitterSignInButton" rel="external" href="twitterlogininit/"></a>

twitter登录代码,即users.php

$app->get('/user/me/twitterlogininit/',function() use ($app){
$request_token=$app->twitter->getRequestToken('http://<domain>/App/user/me/twitterlogin/');
$_SESSION['oauth_token']=$request_token['oauth_token'];
$_SESSION['oauth_token_secret']=$request_token['oauth_token_secret'];
if($app->twitter->http_code==200){
// Let's generate the URL and redirect  
  $url = $app->twitter->getAuthorizeURL($request_token['oauth_token']);
  $app->redirect($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.');
 }
});

//twitter redirect 

$app->get('/user/me/twitterlogin/',function() use ($app){
if(!empty($_GET['oauth_verifier']) && !empty($_SESSION['oauth_token']) &&  !empty($_SESSION['oauth_token_secret'])){
$app->twitteroauth = new TwitterOAuth('xxxxx',      'xxxxx', $_SESSION['oauth_token'],       $_SESSION['oauth_token_secret']);
$access_token = $app->twitteroauth->getAccessToken($_GET['oauth_verifier']);
$_SESSION['access_token'] = $access_token;
$user_info = $app->twitteroauth->get('account/verify_credentials');
print_r($user_info);
} else {
// Something's missing, go back to square 1  

}

});

我得到的错误是

Slim Application Error
The application could not run because of the following error:

Details:

Message: Undefined index: oauth_token
File: /var/www/html/FoodKite/App/Libs/Twitter/twitteroauth.php
Line: 118
Stack Trace:

#0 /var/www/html/FoodKite/App/Libs/Twitter/twitteroauth.php(118): Slim::handleErrors(8, 'Undefined index...', '/var/www/html/F...', 118, Array)
#1 /var/www/html/FoodKite/App/Modules/Users.php(172): TwitterOAuth->getAccessToken('yiIL1eyvwGVOrQI...')
#2 [internal function]: {closure}()
#3 /var/www/html/FoodKite/App/Slim/Route.php(392): call_user_func_array(Object(Closure), Array)
#4 /var/www/html/FoodKite/App/Slim/Slim.php(1051): Slim_Route->dispatch()
#5 /var/www/html/FoodKite/App/index.php(154): Slim->run()
#6 {main}
经过大量搜索后,我发现其推特拒绝请求。因为时间戳。仍然可以找到任何解决方法

upadate:

我在facebook登录前添加了index.php上的所有代码。它工作得很好。使用主页上的按钮。

现在,如果我将按钮添加到我想要的页面,即/ user / app与主页的代码相同,它会给出相同的错误,我认为苗条现在是一个confloc。我在某处读到了关于苗条会话处理可能是其中一个问题吗?

0 个答案:

没有答案