/**
  * Obtain the user information from Service page.
  *
  * @return Response
  */
 public function handleProviderData($providerName)
 {
     try {
         $providerUser = Socialite::driver($providerName)->user();
         $user = $this->user->verifyUserExistanceByEmail($providerUser->email);
         if ($user === false) {
             $user = $this->createUserFromProviderData($providerUser);
         }
         if ($user !== null) {
             $this->createProviderAndAssociateWithUser($user, $providerUser, $providerName);
         }
         $oAuthClient = new OAuthClient();
         $oAuthClientInfo = $oAuthClient->getClientInfoByName(OAuthClient::THIRD_PARTY_CLIENT);
         if ($oAuthClientInfo !== false) {
             return view('third_party_login.login')->with(["providerName" => $providerName, "authToken" => $providerUser->token, "clientId" => $oAuthClientInfo->id, "clientSecret" => $oAuthClientInfo->secret, "message" => null, 'success' => true]);
         }
     } catch (\Exception $e) {
     }
     return response()->json(["providerName" => $providerName, "authToken" => null, "clientId" => null, "clientSecret" => null, "message" => "Erro: Não foi possivel logar com seu " . $providerName . '.', 'success' => false]);
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     DB::table('oauth_clients')->delete();
     OAuthClient::create(array('id' => '1', 'name' => 'holic_co', 'secret' => base64_encode('123456'), 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')));
 }