getProviderId() public static method

public static getProviderId ( $provider ) : mixed
$provider
return mixed
Esempio n. 1
0
 public function execute($provider, $hasCode)
 {
     if (!$hasCode) {
         return $this->getAuthorization($provider);
     }
     $socialiteUser = Socialite::driver($provider)->user();
     $providerId = AuthService::getProviderId($provider);
     if (Auth::check()) {
         $user = Auth::user();
         $isRegistered = $user->registered;
         $email = $socialiteUser->email;
         $oauthUserId = $socialiteUser->id;
         $name = Utils::splitName($socialiteUser->name);
         $result = $this->accountRepo->updateUserFromOauth($user, $name[0], $name[1], $email, $providerId, $oauthUserId);
         if ($result === true) {
             if (!$isRegistered) {
                 event(new UserSignedUp());
                 Session::flash('warning', trans('texts.success_message'));
                 Session::flash('onReady', 'handleSignedUp();');
             } else {
                 Session::flash('message', trans('texts.updated_settings'));
                 return redirect()->to('/settings/' . ACCOUNT_USER_DETAILS);
             }
         } else {
             Session::flash('error', $result);
         }
     } else {
         if ($user = $this->accountRepo->findUserByOauth($providerId, $socialiteUser->id)) {
             Auth::login($user, true);
             event(new UserLoggedIn());
         } else {
             Session::flash('error', trans('texts.invalid_credentials'));
             return redirect()->to('login');
         }
     }
     $redirectTo = Input::get('redirect_to') ?: 'dashboard';
     return redirect()->to($redirectTo);
 }
 public function oauthLogin(Request $request)
 {
     $user = false;
     $token = $request->input('token');
     $provider = $request->input('provider');
     try {
         $user = Socialite::driver($provider)->userFromToken($token);
     } catch (Exception $exception) {
         return $this->errorResponse(['message' => $exception->getMessage()], 401);
     }
     if ($user) {
         $providerId = AuthService::getProviderId($provider);
         $user = $this->accountRepo->findUserByOauth($providerId, $user->id);
     }
     if ($user) {
         Auth::login($user);
         return $this->processLogin($request);
     } else {
         sleep(ERROR_DELAY);
         return $this->errorResponse(['message' => 'Invalid credentials'], 401);
     }
 }