会话/身份验证数据在Laravel 5.3中不存在

时间:2016-10-31 04:14:19

标签: php laravel session authentication laravel-5.3

我尝试将项目从Laravel 5.2迁移到Laravel 5.3,将旧代码库的功能迁移到全新的Laravel 5.3安装中。我的项目使用Socialite启用Google OAuth身份验证,该身份验证无效。

我试图通过在网络路线文件web.php中编写两条测试路线来隔离问题。

第一个测试路由手动尝试登录AdminUser实例,并在会话中放置一个值。正在从数据库中正确获取实例。

Route::get('/test/signin', function(Request $request) {

    $user = \App\AdminUser::find(1);
    Auth::guard('web')->login($user);

    // Set a test value in the session
    session(['test_key' => 'test_value');

    // Print all data in the session
    print_r($request->session()->all());

    // Returns true
    return var_dump(Auth::check());
});

点击此路线会返回true,表示身份验证有效。打印的会话数据包括已设置的['test_key' => 'test_value']

第二条路线检查身份验证并再次打印出会话中的所有数据。

Route::get('/test/checkauth', function(Illuminate\Http\Request $request) {

    // Print all data in the session
    print_r($request->session()->all());

    // Try to get the current authenticated user instance (prints null)
    echo var_dump(Auth::guard('web')->user());

    // Try to get the authenticated user instance in a different way (also prints null)
    echo var_dump($request->user());

    // Returns false
    return var_dump(Auth::guard('web')->check());
});

在访问/test/signin路线后立即访问此路线时,显示在第一条路线中设置的['test_key' => 'test_value']对,它会打印{{1}尝试获取经过身份验证的用户实例时,在通过null检查身份验证状态时返回false

会话驱动程序在Auth::check()中设置为file,我已检查.env文件夹的目录权限。

知道这里出了什么问题吗?

0 个答案:

没有答案
相关问题