Laravel 5.5社交网站集成显示错误formatRedirectUrl()必须是类型数组,null给定

Nit*_*ohn 5 laravel-5 laravel-socialite

我正在使用"laravel/socialite":"^ 3.0",登录facebook.但它显示错误

类型错误:传递给Laravel\Socialite\SocialiteManager :: formatRedirectUrl()的参数1必须是数组类型,给定null,在/var/www/html/mas/vendor/laravel/socialite/src/SocialiteManager.php中调用.

当我在登录控制器中调用以下函数时会发生这种情况

public function socialLogin($social)
{
    return Socialite::driver($social)->redirect();
}
Run Code Online (Sandbox Code Playgroud)

小智 10

嗨,你错过了提供社交媒体的凭据,将其放在config/services.php中

'facebook' => [
        'client_id' => env('FACEBOOK_CLIENT_ID'),
        'client_secret' => env('FACEBOOK_CLIENT_SECRET'),
        'redirect' => env('CALLBACK_URL_FACEBOOK'),
    ],
    'google' => [
        'client_id' => env('GOOGLE_CLIENT_ID'),
        'client_secret' => env('GOOGLE_CLIENT_SECRET'),
        'redirect' => env('CALLBACK_URL_GOOGLE'),
    ],
    'twitter' => [
        'client_id' => env('TWITTER_CLIENT_ID'),
        'client_secret' => env('TWITTER_CLIENT_SECRET'),
        'redirect' => env('CALLBACK_URL_TWITTER'),
    ],
    'linkedin' => [
        'client_id' => env('LINKEDIN_CLIENT_ID'),
        'client_secret' => env('LINKEDIN_CLIENT_SECRET'),
        'redirect' => env('CALLBACK_URL_LINKEDIN'),
    ],
    'instagram' => [
        'client_id' => env('INSTAGRAM_CLIENT_ID'),
        'client_secret' => env('INSTAGRAM_CLIENT_SECRET'),
        'redirect' => env('CALLBACK_URL_INSTAGRAM'),
    ],
Run Code Online (Sandbox Code Playgroud)


Sir*_*iaz 10

你必须清除配置缓存文件,怎么做?如果您使用,php artisan您将看到命令config:clear.运行:

php artisan config:clear
Run Code Online (Sandbox Code Playgroud)

现在,如果您访问Laravel\Socialite\SocialiteManager :: createFacebookDriver()中的$ config变量,您将获得存储在config/services.facebook(例如Facebook)中的配置元素,之前对于Socialite不是"可见"的.

简而言之:跑php artisan config:clear