Есть на сайте авторизация через соц сети. Через гугл все проходит нормально, но через фейсбук выдает эту ошибку,
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;
}
}
}
По ошибке видно, что метод createOrGetUser()
возвращает null, а метод login()
ждет объект созданного пользователя, то есть нужно отловить место в котором у вас не возвращается объект юзера.
Виртуальный выделенный сервер (VDS) становится отличным выбором
ЗдравствуйтеИмеется такая задача: 1) Проверить есть ли доступ к устройству
Подскажите пожалуйстаУ меня есть select который формируется циклом PHP
На данный вопрос уже ответили:
Здравствуйте, проблема с компиляцией программы на OS Linux Ubuntu, ОС стоит на плате odroid-xu4, с ARM процессоромБиблиотеку подключил, ругается только...