Php Laravel 5.8中的ArgumentCountError

Php Laravel 5.8中的ArgumentCountError,php,laravel,Php,Laravel,我正在尝试使用社交名将社交身份验证添加到Laravel5.8API项目中 当尝试处理社会化提供回调时,这里会抛出ArgumentCountError 函数App\Http\Controllers\SocialAuthController::handleProviderCallback()的参数太少,传递了0个参数,实际需要1个参数 错误是指此代码块的第一行 public function handleProviderCallback($provider) { // retrieve so

我正在尝试使用社交名将社交身份验证添加到Laravel5.8API项目中

当尝试处理社会化提供回调时,这里会抛出
ArgumentCountError

函数App\Http\Controllers\SocialAuthController::handleProviderCallback()的参数太少,传递了0个参数,实际需要1个参数

错误是指此代码块的第一行

public function handleProviderCallback($provider)
{
    // retrieve social user info
    $socialUser = Socialite::driver($provider)->stateless()->user();

    // check if social user provider record is stored
    $userSocialAccount = SocialAccount::where('provider_id', $socialUser->id)->where('provider_name', $provider)->first();

    if ($userSocialAccount) {

        // retrieve the user from users store
        $user = User::find($userSocialAccount->user_id);

        // assign access token to user
        $token = $user->createToken('Pramopro')->accessToken;

        // return access token & user data
        return response()->json([
            'token' => $token,
            'user'  => (new UserResource($user))
        ]);
    } else {

        // store the new user record
        $user = User::create([
            'name'                  => $socialUser->name,
            'username'             => $socialUser->email,
            'email_verified_at'    => now()
        ]);

        ...

        // assign passport token to user
        $token = $user->createToken('******')->accessToken;


        // return response
        return response()->json(['token' => $token]);
    }
}
下面是我如何设置其他代码的。第一次在
env
I添加

GOOGLE_CLIENT_ID=******
GOOGLE_CLIENT_SECRET=*******
GOOGLE_CALLBACK_URL=https://staging.appdomain.com/api/v1/user
然后修改
web.php

Auth::routes(['verify' => true]);

Route::get('/auth/{provider}', 'SocialAuthController@redirectToProvider');

Route::get('/auth/{provider}/callback', 'SocialAuthController@handleProviderCallback');
最后,在google应用程序中,我添加了uri路径,用户在成功验证后将被重定向到该路径

https://staging.appdomain.com/api/v1/user 

如何修复此问题?

成功身份验证后用户应重定向到的回调uri显然未被缓存。所以运行
php-artisan-route:cache
修复了它。

成功身份验证后用户应该重定向到的回调uri显然没有被缓存。所以运行
php-artisan-route:cache
修复了它。

当您收到错误时,哪个是url地址?@mdexp url是
https://staging.appdomain.com/api/v1/user?state=.....
此处缺少参数,您需要在启动函数时发送$provider参数,当您收到错误时,这是url地址?@mdexp url是
https://staging.appdomain.com/api/v1/user?state=.....
此处缺少参数,启动函数时需要发送$provider参数