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

Laravel 5 Session variables not persisting after redirects Twitter OAuth

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

$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();

这里所有的变量都正确地放入了会话中(因为我可以通过在打印后放置一个 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这里没有显示上面代码段中存储的会话变量,重定向到本地主机后,会话变量为空。

我在 Laravel (5) 中是否遗漏了什么?

问题出现在 config/session

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

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

'driver' =>  'file'

问题已解决,现在会话变量在重定向时仍然存在。