App\Http\Controllers\OauthController::findByProviderIdOrCreate PHP Method

findByProviderIdOrCreate() public method

Find a user by username or create a new user
public findByProviderIdOrCreate ( $userData, $provider ) : User
$userData
$provider
return app\User
    public function findByProviderIdOrCreate($userData, $provider)
    {
        $user = User::where('provider_id', '=', $userData->id)->first();
        Session::put('provider', $provider);
        $email = $this->isEmailExists($userData->getEmail()) ? null : $userData->getEmail();
        $username = $this->isUsernameExists($userData->getNickName()) ? null : $userData->getNickName();
        $tokenSecret = property_exists($userData, "tokenSecret") ? $userData->tokenSecret : null;
        if (empty($user)) {
            $user = User::create(['fullname' => $userData->getName(), 'username' => $username, 'provider_id' => $userData->getId(), 'avatar' => $userData->getAvatar(), 'email' => $email, 'provider' => $provider, 'oauth_token' => $userData->token, 'oauth_token_secret' => $tokenSecret]);
            Session::put('provider', $provider);
        }
        return $user;
    }