我无法使用Laravel 10和Socialite添加多个Google帐户

vptzau2j  于 2023-03-31  发布在  Go
关注(0)|答案(1)|浏览(97)

我尝试使用Laravel 10和Socialite创建多个Google服务;
在Services.php中添加:

'sign_in_google' => [
    'client_id' => env('SIGN_IN_GOOGLE_ID'),
    'client_secret' => env('SIGN_IN_GOOGLE_SECRET'),
    'redirect' => 'http://localhost:8000/sign-in/google/callback'
],
'sign_up_google' => [
    'client_id' => env('SIGN_UP_GOOGLE_ID'),
    'client_secret' => env('SIGN_UP_GOOGLE_SECRET'),
    'redirect' => 'http://localhost:8000/sign-up/google/callback'
]

当我尝试通过控制器使用它时:

public function signInRedirect() {
    return Socialite::driver('sign_in_google') -> redirect();
}

显示错误:

Driver [user_sign_in_google] not supported.
yhxst69z

yhxst69z1#

由于您使用的是Socialite不支持的自定义驱动程序名称,因此无法使用driver方法。
您需要使用buildProvider方法,如下所示:

use Laravel\Socialite\Two\GoogleProvider;

public function signInRedirect()
{
    $driver = Socialite::buildProvider(
        GoogleProvider::class, config('services.sign_in_google')
    );

    return $driver->redirect();
}

相关问题