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 theFacebookConfiguration.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
-
-
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.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
-
-
-
-
Method Detail
-
internalInit
protected void internalInit()
- Overrides:
internalInit
in classOAuth20Client
-
getConfiguration
public FacebookConfiguration getConfiguration()
- Overrides:
getConfiguration
in classOAuth20Client
-
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)
-
-