Class FacebookClient

  • All Implemented Interfaces:
    org.pac4j.core.client.Client

    public class FacebookClient
    extends OAuth20Client

    This class is the OAuth client to authenticate users in Facebook.

    By default, the following scope is requested to Facebook: user_likes, user_about_me, user_birthday, user_education_history, email, user_hometown, user_relationship_details, user_location, user_religion_politics, user_relationships, user_website and user_work_history.

    The scope can be defined to require permissions from the user and retrieve fields from Facebook, by using the setScope(String) method.

    By default, the following fields are requested to Facebook: id, name, first_name, middle_name, last_name, gender, locale, languages, link, third_party_id, timezone, updated_time, verified, about, birthday, education, email, hometown, interested_in, location, political, favorite_athletes, favorite_teams, quotes, relationship_status, religion, significant_other, website and work.

    The fields can be defined and requested to Facebook, by using the setFields(String) method.

    The number of results can be limited by using the setLimit(int) method.

    An extended access token can be requested by setting true on the FacebookConfiguration.setRequiresExtendedToken(boolean) method.

    It returns a FacebookProfile.

    More information at http://developers.facebook.com/docs/reference/api/user/

    More information at https://developers.facebook.com/docs/howtos/login/extending-tokens/

    Since:
    1.0.0
    Author:
    Jerome Leleu, Mehdi BEN HAJ ABBES
    • Field Summary

      • Fields inherited from class org.pac4j.core.client.IndirectClient

        ATTEMPTED_AUTHENTICATION_SUFFIX, callbackUrl, callbackUrlResolver, urlResolver
      • Fields inherited from class org.pac4j.core.client.BaseClient

        logger, saveProfileInSession
    • Constructor Summary

      Constructors 
      Constructor Description
      FacebookClient()  
      FacebookClient​(java.lang.String key, java.lang.String secret)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      FacebookConfiguration getConfiguration()  
      java.lang.String getFields()  
      int getLimit()  
      java.lang.String getScope()  
      protected void internalInit()  
      void setFields​(java.lang.String fields)  
      void setLimit​(int limit)  
      void setScope​(java.lang.String scope)  
      • Methods inherited from class org.pac4j.core.client.IndirectClient

        afterInternalInit, computeFinalCallbackUrl, defaultLogoutActionBuilder, defaultRedirectionActionBuilder, getAjaxRequestResolver, getCallbackUrl, getCallbackUrlResolver, getCodeVerifierSessionAttributeName, getCredentials, getLogoutAction, getLogoutActionBuilder, getNonceSessionAttributeName, getRedirectionAction, getRedirectionActionBuilder, getStateSessionAttributeName, getUrlResolver, isCheckAuthenticationAttempt, newDefaultCallbackUrlResolver, setAjaxRequestResolver, setCallbackUrl, setCallbackUrlResolver, setCheckAuthenticationAttempt, setLogoutActionBuilder, setRedirectionActionBuilder, setUrlResolver
      • Methods inherited from class org.pac4j.core.client.BaseClient

        addAuthorizationGenerator, addAuthorizationGenerators, defaultAuthenticator, defaultCredentialsExtractor, defaultProfileCreator, getAuthenticator, getAuthorizationGenerators, getCredentialsExtractor, getCustomProperties, getName, getProfileCreator, getProfileFactoryWhenNotAuthenticated, getSaveProfileInSession, getUserProfile, isMultiProfile, notifySessionRenewal, renewUserProfile, retrieveCredentials, retrieveUserProfile, setAuthenticator, setAuthorizationGenerator, setAuthorizationGenerators, setAuthorizationGenerators, setCredentialsExtractor, setCustomProperties, setMultiProfile, setName, setProfileCreator, setProfileFactoryWhenNotAuthenticated, setSaveProfileInSession
      • Methods inherited from class org.pac4j.core.util.InitializableObject

        init, isInitialized
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • FacebookClient

        public FacebookClient()
      • FacebookClient

        public FacebookClient​(java.lang.String key,
                              java.lang.String secret)
    • Method Detail

      • getScope

        public java.lang.String getScope()
      • setScope

        public void setScope​(java.lang.String scope)
      • getFields

        public java.lang.String getFields()
      • setFields

        public void setFields​(java.lang.String fields)
      • getLimit

        public int getLimit()
      • setLimit

        public void setLimit​(int limit)