Class FacebookClient

java.lang.Object
org.pac4j.core.util.InitializableObject
org.pac4j.core.client.BaseClient
org.pac4j.core.client.IndirectClient
org.pac4j.oauth.client.OAuth20Client
org.pac4j.oauth.client.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.oauth.client.OAuth20Client

    configuration

    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
     
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
     
    int
     
     
    protected void
    internalInit(boolean forceReinit)
     
    void
    setFields(String fields)
     
    void
    setLimit(int limit)
     
    void
     

    Methods inherited from class org.pac4j.oauth.client.OAuth20Client

    beforeInternalInit, getKey, getSecret, setConfiguration, setKey, setSecret, toString

    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

    getLastAttempt, getMaxAttempts, getMinTimeIntervalBetweenAttemptsInMilliseconds, getNbAttempts, init, init, isInitialized, reinit, setMaxAttempts, setMinTimeIntervalBetweenAttemptsInMilliseconds, shouldInitialize

    Methods inherited from class java.lang.Object

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

    • FacebookClient

      public FacebookClient()
    • FacebookClient

      public FacebookClient(String key, String secret)
  • Method Details