Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于用户类型Laravel的Facebook和Google登录_Php_Laravel_Laravel Socialite - Fatal编程技术网

Php 基于用户类型Laravel的Facebook和Google登录

Php 基于用户类型Laravel的Facebook和Google登录,php,laravel,laravel-socialite,Php,Laravel,Laravel Socialite,我正在Laravel网站上工作,我刚刚集成了社交网站插件,让用户也可以注册谷歌和Facebook。这是正常工作,但在这里我想把用户注册前的条件。 我有两种类型的用户: 私人卖家 批发商 我想知道注册谷歌或Facebook的用户类型。如果用户是卖家,我只想将值保存在存储其他用户数据(如电子邮件、用户名、令牌)的同一个表中。 为此,我将单选按钮放在注册按钮之前,但我不知道如何在注册之前,获取并使用这个单选按钮值和注册按钮 有什么建议吗 刀片 控制器 class SocialController ex

我正在Laravel网站上工作,我刚刚集成了社交网站插件,让用户也可以注册谷歌和Facebook。这是正常工作,但在这里我想把用户注册前的条件。 我有两种类型的用户:

私人卖家 批发商 我想知道注册谷歌或Facebook的用户类型。如果用户是卖家,我只想将值保存在存储其他用户数据(如电子邮件、用户名、令牌)的同一个表中。 为此,我将单选按钮放在注册按钮之前,但我不知道如何在注册之前,获取并使用这个单选按钮值和注册按钮

有什么建议吗

刀片

控制器

class SocialController extends Controller
{

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

    public function handleProviderCallback($provider)
    {
        try {

            $user = Socialite::driver($provider)->stateless()->user();
            //  $users       =   User::where(['email' => $user->getEmail()])->first();
            $finduser = User::where('provider_id', $user->id)->first();


            // $user = Socialite::driver('facebook')->user();
            // $finduser = User::where('provider_id', $user->id)->first();
            if ($finduser) {
                Auth::login($finduser);
                return redirect('/');
            } else {
                $newUser = User::create(['name' => $user->name, 'email' => $user->email,'provider' => $provider, 'provider_id' => $user->id]);
                Auth::login($newUser);
                return redirect('/');
            }
        } catch (Exception $e) {
            return redirect('auth/facebook');
        }
    }
Route::get('auth/{provider}', 'SocialController@redirectToProvider');
Route::get('auth/{provider}/callback', 'SocialController@handleProviderCallback');
class SocialController extends Controller
{

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

    public function handleProviderCallback($provider)
    {
        try {

            $user = Socialite::driver($provider)->stateless()->user();
            //  $users       =   User::where(['email' => $user->getEmail()])->first();
            $finduser = User::where('provider_id', $user->id)->first();


            // $user = Socialite::driver('facebook')->user();
            // $finduser = User::where('provider_id', $user->id)->first();
            if ($finduser) {
                Auth::login($finduser);
                return redirect('/');
            } else {
                $newUser = User::create(['name' => $user->name, 'email' => $user->email,'provider' => $provider, 'provider_id' => $user->id]);
                Auth::login($newUser);
                return redirect('/');
            }
        } catch (Exception $e) {
            return redirect('auth/facebook');
        }
    }