Search code examples
twitterlaravel-5.4laravel-socialite

Laravel 5.4 - Socialite Providers multiple configurations with Twitter


I have two services to connect with Socialite Provider:

use Laravel\Socialite\Facades\Socialite;
use \SocialiteProviders\Manager\Config;

public function connect_1() {
    $config1 = new Config(
        env('TWITTER_CONSUMER_KEY_1'),
        env('TWITTER_CONSUMER_SECRET_1'),
        env('TWITTER_REDIRECT_URI_1'),
        [
            //
        ]
    );

    return Socialite::with('twitter')->setConfig($config1)->redirect();
}

public function connect_2() {
    $config2 = new Config(
        env('TWITTER_CONSUMER_KEY_2'),
        env('TWITTER_CONSUMER_SECRET_2'),
        env('TWITTER_REDIRECT_URI_2'),
        [
            //
        ]
    );

    return Socialite::with('twitter')->setConfig($config2)->redirect();
}

But, I have this error when I try this code:

Configuration for TWITTER_KEY is missing. There is no services entry for twitter


Solution

  • I think this will work after https://packagist.org/packages/socialiteproviders/manager

    $clientId = "secret";
    $clientSecret = "secret";
    $redirectUrl = "yourdomain.com/api/redirect";
    $additionalProviderConfig = ['site' => 'meta.stackoverflow.com'];
    $config = new \SocialiteProviders\Manager\Config($clientId, $clientSecret, $redirectUrl, $additionalProviderConfig);
    return Socialite::with('provider-name')->setConfig($config)->redirect();