org.brickred.socialauth.provider
Class FacebookImpl

java.lang.Object
  extended by org.brickred.socialauth.AbstractProvider
      extended by org.brickred.socialauth.provider.FacebookImpl
All Implemented Interfaces:
Serializable, AuthProvider

public class FacebookImpl
extends AbstractProvider
implements AuthProvider, Serializable

Provider implementation for Facebook

Author:
Abhinav Maheshwari
See Also:
Serialized Form

Field Summary
 
Fields inherited from interface org.brickred.socialauth.AuthProvider
COUNTRY, DOB, EMAIL, EXT_NAMESPACE, FIRST_NAME, FULL_NAME, GENDER, LANGUAGE, LAST_NAME, NICK_NAME, POSTCODE
 
Constructor Summary
FacebookImpl(OAuthConfig providerConfig)
          Stores configuration for the provider
 
Method Summary
 Response api(String url, String methodType, Map<String,String> params, Map<String,String> headerParams, String body)
          Makes HTTP request to a given URL.It attaches access token in URL.
 AccessGrant getAccessGrant()
          Retrieves the AccessGrant object.
 List<Contact> getContactList()
          Gets the list of contacts of the user.
 String getLoginRedirectURL(String successUrl)
          This is the most important action.
 String getProviderId()
          Retrieves the provider id
 Profile getUserProfile()
          Retrieves the user profile.
 void logout()
          Logout
 void setAccessGrant(AccessGrant accessGrant)
          Stores access grant for the provider
 void setPermission(Permission p)
           
 void updateStatus(String msg)
          Updates the status on the chosen provider if available.
 Profile verifyResponse(javax.servlet.http.HttpServletRequest httpReq)
          Verifies the user when the external provider redirects back to our application.
 Profile verifyResponse(Map<String,String> requestParams)
          Verifies the user when the external provider redirects back to our application.
 
Methods inherited from class org.brickred.socialauth.AbstractProvider
isProviderState, setProviderState
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FacebookImpl

public FacebookImpl(OAuthConfig providerConfig)
             throws Exception
Stores configuration for the provider

Parameters:
providerConfig - It contains the configuration of application like consumer key and consumer secret
Throws:
Exception
Method Detail

setAccessGrant

public void setAccessGrant(AccessGrant accessGrant)
                    throws Exception
Stores access grant for the provider

Specified by:
setAccessGrant in interface AuthProvider
Parameters:
accessGrant - It contains the access token and other information
Throws:
Exception

getLoginRedirectURL

public String getLoginRedirectURL(String successUrl)
                           throws Exception
This is the most important action. It redirects the browser to an appropriate URL which will be used for authentication with the provider that has been set using setId()

Specified by:
getLoginRedirectURL in interface AuthProvider
Throws:
Exception

verifyResponse

public Profile verifyResponse(javax.servlet.http.HttpServletRequest httpReq)
                       throws Exception
Verifies the user when the external provider redirects back to our application.

Specified by:
verifyResponse in interface AuthProvider
Parameters:
httpReq - Request object the request is received from the provider
Returns:
Profile object containing the profile information
Throws:
Exception

verifyResponse

public Profile verifyResponse(Map<String,String> requestParams)
                       throws Exception
Verifies the user when the external provider redirects back to our application.

Specified by:
verifyResponse in interface AuthProvider
Parameters:
requestParams - request parameters, received from the provider
Returns:
Profile object containing the profile information
Throws:
Exception

updateStatus

public void updateStatus(String msg)
                  throws Exception
Updates the status on the chosen provider if available. This may not be implemented for all providers.

Specified by:
updateStatus in interface AuthProvider
Parameters:
msg - Message to be shown as user's status
Throws:
Exception

getContactList

public List<Contact> getContactList()
                             throws Exception
Gets the list of contacts of the user. this may not be available for all providers.

Specified by:
getContactList in interface AuthProvider
Returns:
List of contact objects representing Contacts. Only name will be available
Throws:
Exception

logout

public void logout()
Logout

Specified by:
logout in interface AuthProvider

setPermission

public void setPermission(Permission p)
Specified by:
setPermission in interface AuthProvider
Parameters:
p - Permission object which can be Permission.AUHTHENTICATE_ONLY, Permission.ALL, Permission.DEFAULT

api

public Response api(String url,
                    String methodType,
                    Map<String,String> params,
                    Map<String,String> headerParams,
                    String body)
             throws Exception
Makes HTTP request to a given URL.It attaches access token in URL.

Specified by:
api in interface AuthProvider
Parameters:
url - URL to make HTTP request.
methodType - Method type can be GET, POST or PUT
params - Not using this parameter in Google API function
headerParams - Parameters need to pass as Header Parameters
body - Request Body
Returns:
Response object
Throws:
Exception

getUserProfile

public Profile getUserProfile()
                       throws Exception
Retrieves the user profile.

Specified by:
getUserProfile in interface AuthProvider
Returns:
Profile object containing the profile information.
Throws:
Exception

getAccessGrant

public AccessGrant getAccessGrant()
Description copied from interface: AuthProvider
Retrieves the AccessGrant object.

Specified by:
getAccessGrant in interface AuthProvider
Returns:
AccessGrant object.

getProviderId

public String getProviderId()
Description copied from interface: AuthProvider
Retrieves the provider id

Specified by:
getProviderId in interface AuthProvider
Returns:
provider id.


Copyright © 2012. All Rights Reserved.