/**
  * @param string $providerName  'meetup'
  * @param string $providerClass 'Your\Name\Space\ClassNameProvider' must extend
  *                              either Laravel\Socialite\Two\AbstractProvider or
  *                              Laravel\Socialite\One\AbstractProvider
  * @param string $oauth1Server  'Your\Name\Space\ClassNameServer' must extend League\OAuth1\Client\Server\Server
  *
  * @throws InvalidArgumentException
  */
 public function extendSocialite($providerName, $providerClass, $oauth1Server = null)
 {
     /** @var SocialiteManager $socialite */
     $socialite = $this->app->make(\Laravel\Socialite\Contracts\Factory::class);
     $provider = $this->buildProvider($socialite, $providerName, $providerClass, $oauth1Server);
     $socialite->extend($providerName, function () use($provider) {
         return $provider;
     });
 }
 /**
  * @param string $providerName  'meetup'
  * @param string $providerClass 'Your\Name\Space\ClassNameProvider' must extend
  *                              either Laravel\Socialite\Two\AbstractProvider or
  *                              Laravel\Socialite\One\AbstractProvider
  * @param string $oauth1Server  'Your\Name\Space\ClassNameServer' must extend League\OAuth1\Client\Server\Server
  *
  * @throws InvalidArgumentException
  */
 public function extendSocialite($providerName, $providerClass, $oauth1Server = null)
 {
     /** @var SocialiteManager $socialite */
     $socialite = $this->app->make(\Laravel\Socialite\Contracts\Factory::class);
     $provider = $this->buildProvider($socialite, $providerName, $providerClass, $oauth1Server);
     $socialite->extend($providerName, function () use($provider) {
         if (defined('SOCIALITEPROVIDERS_STATELESS') && SOCIALITEPROVIDERS_STATELESS) {
             return $provider->stateless();
         }
         return $provider;
     });
 }