Laravel 5 在null上调用成员函数集()

Laravel 5 在null上调用成员函数集(),laravel-5,Laravel 5,我试图在Laravel5中使用oauth来支持谷歌,但我得到了错误。谁能帮我解决这个问题 以下是我的档案,请查收 .env GOOGLE_ID = 'mygoogleId' GOOGLE_SECRET = 'mysecretID' GOOGLE_REDIRECT = http://localhost:8090/users services.php 'google' => [ 'client_id' => env('GOOGLE_ID'), 'cli

我试图在Laravel5中使用oauth来支持谷歌,但我得到了错误。谁能帮我解决这个问题

以下是我的档案,请查收

.env

GOOGLE_ID = 'mygoogleId' 
GOOGLE_SECRET = 'mysecretID'
GOOGLE_REDIRECT = http://localhost:8090/users
services.php

'google' => [
        'client_id' => env('GOOGLE_ID'),
        'client_secret' => env('GOOGLE_SECRET'),
        'redirect' => env('GOOGLE_REDIRECT'),
    ],

AuthController
public function redirectToProvider() {
        return Socialite::driver('google')->redirect();
    }

public function handleProviderCallback()    {
        $user = Socialite::driver('google')->user();
            console.log($user);
}
Route::get('google', 'Auth\AuthController@redirectToProvider');
Route::get('google/callback', 'Auth\AuthController@handleProviderCallback');

//I have set the providers and aliases in app.php.
routes.php

'google' => [
        'client_id' => env('GOOGLE_ID'),
        'client_secret' => env('GOOGLE_SECRET'),
        'redirect' => env('GOOGLE_REDIRECT'),
    ],

AuthController
public function redirectToProvider() {
        return Socialite::driver('google')->redirect();
    }

public function handleProviderCallback()    {
        $user = Socialite::driver('google')->user();
            console.log($user);
}
Route::get('google', 'Auth\AuthController@redirectToProvider');
Route::get('google/callback', 'Auth\AuthController@handleProviderCallback');

//I have set the providers and aliases in app.php.
这是我遇到错误的代码 //关于set()方法


提前感谢。

嘿,如果您使用的是laravel 5.2,这对我来说很有用

将控制器放入“web”中间件中。像

Route::group(['middleware' => 'web'], function() {
   Route::get('google', 'Auth\AuthController@redirectToProvider');
   Route::get('google/callback', 'Auth\AuthController@handleProviderCallback');
});
并确保内核文件已注册中间件类

/**
 * The application's route middleware groups.
 *
 * @var array
 */
protected $middlewareGroups = [
    'web' => [
        \Perkweb\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        \Illuminate\Session\Middleware\StartSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        \Perkweb\Http\Middleware\VerifyCsrfToken::class,
    ],

    'api' => [
        'throttle:60,1',
    ],
];

您好,我们需要更好地跟踪错误,可能还需要与AuthController代码相关的跟踪。您好,牛仔,您为set()建议的上述答案运行良好。但现在我在pull()方法中提取数据时出错。我只是想知道如何将数据保存到数据库中。你能分享你的handleProviderCallback()方法吗。提前谢谢。