/**
  * @param  string $token
  * @return \App\Models\Base
  */
 public function signInWithFacebook($token)
 {
     $facebookService = new FacebookService();
     $node = $facebookService->getMe($token);
     if (empty($node)) {
         return null;
     }
     $facebookId = $node->getId();
     $email = $node->getEmail();
     if (empty($email)) {
         return null;
     }
     $user = $this->authenticatableRepository->findByFacebookId($facebookId);
     if (empty($user)) {
         $user = $this->authenticatableRepository->findByEmail($email);
     }
     if (empty($user)) {
         $user = $this->authenticatableRepository->create(['email' => $email, 'password' => '']);
     }
     $guard = $this->getGuard();
     $guard->login($user);
     return $guard->user();
 }
Exemplo n.º 2
0
 public function getEndpoint($user_id)
 {
     Config::set('services.facebook.redirect', Config::get('services.facebook.redirect') . '/' . $user_id);
     $redirectUrl = Socialite::driver('facebook')->scopes(FacebookService::scopes())->redirect()->getTargetUrl();
     return $redirectUrl;
 }