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