/** * @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(); }
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; }