App\Helpers\Frontend\Auth\Socialite::getAcceptedProviders PHP Method

getAcceptedProviders() public method

List of the accepted third party provider types to login with
public getAcceptedProviders ( ) : array
return array
    public function getAcceptedProviders()
    {
        return ['bitbucket', 'facebook', 'google', 'github', 'linkedin', 'twitter'];
    }

Usage Example

 /**
  * @param Request $request
  * @param $provider
  * @return \Illuminate\Http\RedirectResponse|mixed
  * @throws GeneralException
  */
 public function login(Request $request, $provider)
 {
     //If the provider is not an acceptable third party than kick back
     if (!in_array($provider, $this->helper->getAcceptedProviders())) {
         return redirect()->route('frontend.index')->withFlashDanger(trans('auth.socialite.unacceptable', ['provider' => $provider]));
     }
     /**
      * The first time this is hit, request is empty
      * It's redirected to the provider and then back here, where request is populated
      * So it then continues creating the user
      */
     if (!$request->all()) {
         return $this->getAuthorizationFirst($provider);
     }
     /**
      * Create the user if this is a new social account or find the one that is already there
      */
     $user = $this->user->findOrCreateSocial($this->getSocialUser($provider), $provider);
     /**
      * User has been successfully created or already exists
      * Log the user in
      */
     auth()->login($user, true);
     /**
      * User authenticated, check to see if they are active.
      */
     if (!access()->user()->isActive()) {
         access()->logout();
         throw new GeneralException(trans('exceptions.frontend.auth.deactivated'));
     }
     /**
      * Throw an event in case you want to do anything when the user logs in
      */
     event(new UserLoggedIn($user));
     /**
      * Set session variable so we know which provider user is logged in as, if ever needed
      */
     session([config('access.socialite_session_name') => $provider]);
     /**
      * Return to the intended url or default to the class property
      */
     return redirect()->intended(route('frontend.index'));
 }