Laravel Socialite Callback - Этот сайт недоступен - PullRequest
0 голосов
/ 02 февраля 2019

Я борюсь с какой-то жуткой проблемой.Я задаю этот вопрос, потому что я так долго не нашел решения.Я использую Socialite для создания пользователей на моем сайте.Проблема с обратным вызовом с Facebook, а также с сервисом Google.Я получаю все время "Этот сайт не может быть достигнут".Это мой основной домен - когда я тестирую это ранее на поддомене, все работает нормально.Я пытался создать другое приложение Facebook - не работает.Я попытался добавить и удалить '/' в конце URL обратного вызова - не работает.

Есть мой код (на поддомене работает хорошо).

config / services.php

'facebook' => [
    'client_id'     => env('FACEBOOK_ID'),
    'client_secret' => env('FACEBOOK_SECRET'),
    'redirect'      => env('FACEBOOK_URL'),
],

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

Auth / AuthController.php

<?php

namespace App\Http\Controllers\Auth;

use Auth;
use Socialite;
use App\User;
use Session;
use Redirect;
use App\Http\Controllers\Controller;

class AuthController extends Controller
{
    /**
     **_ Redirect the user to the OAuth Provider.

     **_ @return Response**/

    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);

        try{
            if($authUser != null){
                try{
                    Auth::login($authUser, true);
                    Session::flash('message', "Nice to see you.");
                    return Redirect::to('offers');

                }catch(\Exception $e){
                    Session::flash('message', "Can't sign in a user.");
                    return Redirect::to('offers');

                }

            }else{
                Session::flash('message', "Can't sign in a user.");
                return Redirect::to('offers');
            }

        }catch(\Exception $e){
            Session::flash('message', "Can't sign in a user.");
            return Redirect::to('offers');

        }
    }

    //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;
        }

        try{
            Session::flash('message', "Thank you. You created an account. Enjoy.");
            return User::create([
                'name'     => $user->name,
                'email'    => $user->email,
                'provider' => $provider,
                'provider_id' => $user->id
            ]);

        }catch(\Exception $e){
            Session::flash('message', "Can't sign up a user.");
            return;

        }

    }
}

routs / api.php

Route::get('auth/{provider}', 'Auth\AuthController@redirectToProvider');
Route::get('auth/{provider}/callback', 'Auth\AuthController@handleProviderCallback');

Действительные URI перенаправления OAuth (на странице разработчиков fb):

https://www.last-bee.com/api/auth/facebook/callback

Я очень благодарен за любую помощь / советы по решению этой проблемы.:)

...