Ошибка клиента 500 в социальной сети Google Login Laravel 5.8 - PullRequest
1 голос
/ 08 октября 2019

У меня есть проект laravel, который был интегрирован с логином Facebook, но если я использую логин Google, на странице возникает ошибка клиента, которая составляет 500 ошибок сервера

Вы можете проверить на этом сайте https://indhri.asynchsolution.com и войдите в систему с помощью Google, не волнуйтесь, я немедленно удалю базу данных, если эта проблема будет решена

Это мой SocialController.php

<?php

namespace App\Http\Controllers\Auth;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Laravel\Socialite\Facades\Socialite;
use Illuminate\Support\Facades\Auth;
use Spatie\Permission\Models\Role;
use App\SocialAccount;
use App\User;

class SocialiteController extends Controller
{
    public function redirectToProvider($provider)
    {
        return Socialite::driver($provider)->redirect();
    }

    public function handleProviderCallback($provider)
    {
        //$user = Socialite::driver($provider)->user();
         try {
            $user = Socialite::driver($provider)->user();
        } catch (Exception $e) {
            return redirect('/auth/login');
        }
        //dd($user);
        $authUser = $this->findOrCreateUser($user, $provider);

        Auth::login($authUser, true);
        return redirect('/personal');
    }

    public function findOrCreateUser($socialUser, $provider)
    {
        $socialAccount = SocialAccount::where('provider_id', $socialUser->getId())
                        ->where('provider_name', $provider)
                        ->first();

        if($socialAccount) {
            return $socialAccount->user;
        } else {
            $user = User::where('email', $socialUser->getEmail())->first();

            if(! $user) {
                $user = User::create([
                    'username' => $socialUser->getName(),
                    'email' => $socialUser->getEmail()

                ]);
                $user->assignRole('Registered');
            }

            $user->socialAccounts()->create([
                'provider_id' => $socialUser->getId(),
                'provider_name' => $provider
            ]);

            return $user;
        }
    }
}

Это ошибка клиента

это ошибка при проверке

1 Ответ

0 голосов
/ 08 октября 2019

Добавить SESSION_DOMAIN в .env файл

SESSION_DOMAIN=indhri.asynchsolution.com

или изменить config/session.php с null на indhri.asynchsolution.com

'domain' => env('SESSION_DOMAIN', null),

Очистить кэш

php artisan config:clear
php artisan cache:clear

Перезагрузить автоматически обнаруженные пакеты

composer dump-autoload

И попробуйте сделать это в приватном окне, потому что старые сеансовые куки могут вызвать проблему

Надеюсь, это поможет

...