Получение ошибки cURL 6 при аутентификации с использованием Socialite в Laravel - PullRequest
0 голосов
/ 01 мая 2020

Я использую пакет Socialite в Laravel для аутентификации. Я так долго загружал приложение на свой хостинг, и аутентификация всегда была успешной. но в последнее время он сталкивается с некоторой ошибкой cURL, в основном говоря: GuzzleHttp \ Exception \ ConnectException cURL error 6: getaddrinfo() thread failed to start (see http://curl.haxx.se/libcurl/c/libcurl-errors.html). Я понятия не имею, почему это происходит. Я прочитал несколько статей, и ничто не может решить мою проблему. У кого-нибудь есть идеи, как решить эту проблему? Спасибо.

Вот мой код

<?php
namespace App\Http\Controllers\Auth;
use App\User;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Laravel\Socialite\Facades\Socialite;
class AuthController extends Controller
{
    public function redirectToProvider($provider)
    {
        return Socialite::driver($provider)->redirect();
    }
    /**
     * Obtain the user information from provider.  Check if the user already exists in our
     * database by looking up their provider_id in the database.
     * If the user exists, log them in. Otherwise, create a new user then log them in. After that
     * redirect them to the authenticated users homepage.
     *
     * @return Response
     */
    public function handleProviderCallback($provider)
    {
        $user = Socialite::driver($provider)->user();
        $authUser = $this->findOrCreateUser($user, $provider);
        Auth::login($authUser, true);
        return redirect('/');
    }
    /**
     * If a user has registered before using social auth, return the user
     * else, create a new user object.
     * @param  $user Socialite user object
     * @param $provider Social auth provider
     * @return  User
     */
    public function findOrCreateUser($user, $provider)
    {
        $authUser = User::where('provider_id', $user->id)->first();
        if ($authUser) {
            return $authUser;
        }
        else{
            $data = User::create([
                'name'     => $user->name,
                'email'    => !empty($user->email)? $user->email : '' ,
                'provider' => $provider,
                'provider_id' => $user->id
            ]);
            return $data;
        }
    }
}
...