كود تسجيل الدخول ب twitter , facebook , github

هذا الكلاس التي تم كتابتها في الدرس الخاص بتسجيل الدخول من خلال twitter , facebook , github بسبب بعض المشاكل التي واجهها بعض الاعضاء تم اضافتها هنا




كود تسجيل الدخول ب twitter , facebook , github

هذا الكلاس التي تم كتابتها في الدرس الخاص بتسجيل الدخول من خلال
twitter , facebook , github
بسبب بعض المشاكل التي واجهها بعض الاعضاء تم اضافتها هنا


Laravel 5.3 انشاء العضو اذا كان غير موجود و تسجيل الدخول اذا كان موجود


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

    /**
     * Obtain the user information from GitHub.
     *
     * @return Response
     */
    public function handleProviderCallback($provider)
    {
        $user = Socialite::driver($provider)->user();

        /*
         * $user->getId();
            $user->getNickname();
            $user->getName();
            $user->getEmail();
            $user->getAvatar();
         */

        $selectProvider = Provider::where('provider_id' ,  $user->getId())->first();

        if(!$selectProvider){
            //new user

            $userGetReal = User::where('email' , $user->getEmail())->first();

            if(!$userGetReal){
                $userGetReal = new User();
                $userGetReal->name =  $user->getName();
                $userGetReal->email = $user->getEmail();
                $userGetReal->save();
            }

            $newprovider = new Provider();
            $newprovider->provider_id = $user->getId();
            $newprovider->provider = $provider;
            $newprovider->user_id = $userGetReal->id;
            $newprovider->save();

        }else{
            //login user
            $userGetReal  = User::find($selectProvider->user_id);
        }

        auth()->login($userGetReal);
        return Redirect('/');
    }
}