Php Laravel 5.1间歇性状态异常

Php Laravel 5.1间歇性状态异常,php,laravel,laravel-5.1,Php,Laravel,Laravel 5.1,关于这个问题,已经有好几篇关于SO的帖子,并且已经尝试了我找到的所有解决方案,我确信我的代码确实有问题。这是我的Facebook社交登录代码的最新版本 需要明确的是,此代码在90%的时间内都有效。对于我网站上大约10%的用户,他们触发了无效状态异常错误,无法登录 我计划下个月在Laravel 5.3上重建整个站点,所以我只需要此修复程序持续30天 这是我的密码: public function create() { return Socialite::driver

关于这个问题,已经有好几篇关于SO的帖子,并且已经尝试了我找到的所有解决方案,我确信我的代码确实有问题。这是我的Facebook社交登录代码的最新版本

需要明确的是,此代码在90%的时间内都有效。对于我网站上大约10%的用户,他们触发了无效状态异常错误,无法登录

我计划下个月在Laravel 5.3上重建整个站点,所以我只需要此修复程序持续30天

这是我的密码:

    public function create()
    {
        return Socialite::driver('facebook')->redirect();
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param Request $request
     * @return Response
     */
    public function store(Request $request)
    {
        $socialUser = Socialite::driver('facebook')->user();

        $user = User::firstOrNew(['socialite_provider' => 'facebook', 'socialite_id' => $socialUser->getId()]);
        $user->socialite_provider = 'facebook';
        $user->socialite_id = $socialUser->getId();
        $user->socialite_nickname = $socialUser->getNickname();
        $user->socialite_name = $socialUser->getName();
        $user->socialite_avatar = $socialUser->getAvatar();
        $user->socialite_email = $socialUser->getEmail();
        $user->save();

        /*
         * Hack to fix invalid state error, I think this helped a little but it's still not working for all users.
         */
        $state = $request->get('state');
        $request->session()->put('state', $state);
        if (Auth::check() == false) {
            session()->regenerate();
        }

        // Update orders so that we don't lose our guest cart
        $oldSessionId = Session::getId();

        Auth::login($user, true);

        $newSessionId = Session::getId();
        Order::updateSession($oldSessionId, $newSessionId);

        return redirect()->intended('/');
    }

这个问题在Laravel 5.3中通过->无状态()解决


此问题在Laravel 5.3中通过->无状态()解决