protected function setFirewalls(Application $app)
    {
        $app->extend('security.firewalls', function ($firewalls, $app) {
            $socialLoginLink = new RequestMatcher('^/social-login/[a-z]+/link', null, ['GET']);
            $socialLogin     = new RequestMatcher('^/social-login', null, ['GET']);

            $socialFirewalls = [
                'social-login-link' => [
                    'pattern' => $socialLoginLink,
                    'oauth'   => true,
                ],
                'social-login' => [
                    'pattern'   => $socialLogin,
                    'anonymous' => true,
                ],
            ];

            return array_merge($socialFirewalls, $firewalls);
        });
    }