/** * Build an OAuth 1 provider instance. * * @param string $providerClass must extend Laravel\Socialite\One\AbstractProvider * @param string $oauth1Server must extend League\OAuth1\Client\Server\Server * @param array $config * * @return \Laravel\Socialite\One\AbstractProvider */ protected function buildOAuth1Provider(SocialiteManager $socialite, $providerClass, $providerName, $oauth1Server) { $this->classExtends($providerClass, \Laravel\Socialite\One\AbstractProvider::class); $this->classExtends($oauth1Server, \League\OAuth1\Client\Server\Server::class); $config = $this->getConfig($providerClass, $providerName); $configServer = $socialite->formatConfig($config->get()); $provider = new $providerClass($this->app->offsetGet('request'), new $oauth1Server($configServer)); $provider->setConfig($config); return $provider; }