Laravel 5会话变量在重定向Twitter OAuth后不持续



使用Codebird,我在这里请求验证令牌

$reply = $cb->oauth_requestToken(array(
            'oauth_callback' => 'http://localhost/laravel/public/callback'
        ));
        print_r($reply);
        $cb->setToken($reply->oauth_token, $reply->oauth_token_secret);
        Session::put('oauth_token', $reply->oauth_token);
        Session::put('oauth_token_secret', $reply->oauth_token_secret);
        Session::put('oauth_verify', true);
        Session::save();
        $auth_url = $cb->oauth_authorize();
        header('Location: ' . $auth_url);
        die();

变量在这里都正确地放入了会话(因为我可以通过在print之后添加die()来测试)

Twitter授权回调代码

$verify = $_GET['oauth_verifier'];
    Session::put('oauth_token', $_GET['oauth_token'] );
    Session::put('oauth_verify', true);
    Session::save();
    var_dump(Session::all());
    header('Location: ' . "http://localhost/laravel/public/test?oauth_verifier=".$verify);
    die();

var_dump没有显示存储在上面代码段中的会话变量,并且在重定向到localhost之后,会话变量为空。

我在Laravel(5)中错过了什么吗?

问题出现在config/session

'driver' => env('SESSION_DRIVER', 'file')

env 'SESSION_DRIVER'为空,将行更改为:

'driver' =>  'file'

解决了这个问题,现在会话变量在重定向中持续存在

最新更新