laravel 5.4 ErrorException

243
07 октября 2017, 21:40

Есть на сайте авторизация через соц сети. Через гугл все проходит нормально, но через фейсбук выдает эту ошибку,

Argument 1 passed to Illuminate\Auth\SessionGuard::login() must implement interface Illuminate\Contracts\Auth\Authenticatable, null given, called in .../vendor/laravel/framework/src/Illuminate/Auth/AuthManager.php on line 294 and defined

вот код файлов для авторизации

namespace App;
use Laravel\Socialite\Contracts\Provider;
class SocialAccountService
{
public function createOrGetUser(Provider $provider)
{
    $providerUser = $provider->user();
    $providerName = class_basename($provider);
    $account = SocialAccount::whereProvider($providerName)
        ->whereProviderUserId($providerUser->getId())
        ->first();
    if ($account) {
        return $account->user;
    } else {
        $account = new SocialAccount([
            'provider_user_id' => $providerUser->getId(),
            'provider' => $providerName
        ]);
        $user = User::whereEmail($providerUser->getEmail())->first();
        if (!$user) {
            $user = User::create([
                'email' => $providerUser->getEmail(),
                'name' => $providerUser->getName(),
            ]);
            return $user;
        }
        $account->user()->associate($user);
        $account->save();
        return $user;
    }
}

}

Answer 1

По ошибке видно, что метод createOrGetUser() возвращает null, а метод login() ждет объект созданного пользователя, то есть нужно отловить место в котором у вас не возвращается объект юзера.

READ ALSO
Помогите с условием из MySQL

Помогите с условием из MySQL

ЗдравствуйтеИмеется такая задача: 1) Проверить есть ли доступ к устройству

248
Массив из значений select

Массив из значений select

Подскажите пожалуйстаУ меня есть select который формируется циклом PHP

209
Проблема с библиотекой libcurl. Не компилируется программа на Linux

Проблема с библиотекой libcurl. Не компилируется программа на Linux

Здравствуйте, проблема с компиляцией программы на OS Linux Ubuntu, ОС стоит на плате odroid-xu4, с ARM процессоромБиблиотеку подключил, ругается только...

290