VERSION
VERSION
Version.
Extends the BaseFacebook class with the intent of using PHP sessions to store user ids and access tokens.
__construct(array $config)
Identical to the parent constructor, except that we start a PHP session to store the user ID and access token if during the course of execution we discover them.
The configuration:
array | $config | the application configuration. Additionally accepts "sharedSession" as a boolean to turn on a secondary cookie for environments with a shared session (that is, your app shares the domain with other apps). |
setAppId(string $appId) : \BaseFacebook
Set the Application ID.
string | $appId | The Application ID |
setApiSecret(string $apiSecret) : \BaseFacebook
Set the App Secret.
string | $apiSecret | The App Secret |
setAppSecret(string $appSecret) : \BaseFacebook
Set the App Secret.
string | $appSecret | The App Secret |
None found |
None found |
None found |
setFileUploadSupport(boolean $fileUploadSupport) : \BaseFacebook
Set the file upload support status.
boolean | $fileUploadSupport | The file upload support status. |
None found |
getFileUploadSupport() : boolean
Get the file upload support status.
true if and only if the server supports file upload.
None found |
useFileUploadSupport() : boolean
Get the file upload support status.
true if and only if the server supports file upload.
None found |
setAccessToken(string $access_token) : \BaseFacebook
Sets the access token for api calls. Use this if you get your access token by other means and just want the SDK to use it.
string | $access_token | an access token. |
None found |
setExtendedAccessToken()
Extend an access token, while removing the short-lived token that might have been generated via client-side flow. Thanks to http://bit.ly/b0Pt0H for the workaround.
None found |
getAccessToken() : string
Determines the access token that should be used for API calls.
The first time this is called, $this->accessToken is set equal to either a valid user access token, or it's set to the application access token if a valid user access token wasn't available. Subsequent calls return whatever the first call returned.
The access token
None found |
getSignedRequest() : string
Retrieve the signed request, either from a request parameter or, if not present, from a cookie.
the signed request, if available, or null otherwise.
None found |
getUser() : string
Get the UID of the connected user, or 0 if the Facebook user is not connected.
the UID if available.
None found |
getLoginUrl(array $params = array()) : string
Get a Login URL for use with redirects. By default, full page redirect is assumed. If you are using the generated URL with a window.open() call in JavaScript, you can pass in display=popup as part of the $params.
The parameters:
array | $params | Provide custom parameters |
The URL for the login flow
None found |
getLogoutUrl(array $params = array()) : string
Get a Logout URL suitable for use with redirects.
The parameters:
array | $params | Provide custom parameters |
The URL for the logout flow
None found |
getLoginStatusUrl(array $params = array()) : string
Get a login status URL to fetch the status from Facebook.
array | $params | Provide custom parameters |
The URL for the logout flow
None found |
None found |
getApplicationAccessToken() : string
Returns the access token that should be used for logged out users when no authorization code is available.
The application access token, useful for gathering public information about users and applications.
None found |
None found |
getUserAccessToken() : string
Determines and returns the user access token, first using the signed request if present, and then falling back on the authorization code if present. The intent is to return a valid user access token, or false if one is determined to not be available.
A valid user access token, or false if one could not be determined.
None found |
getUserFromAvailableData() : integer
Determines the connected user by first examining any signed requests, then considering an authorization code, and then falling back to any persistent store storing the user.
The id of the connected Facebook user, or 0 if no such user exists.
None found |
getSignedRequestCookieName() : string
Constructs and returns the name of the cookie that potentially houses the signed request for the app user.
The cookie is not set by the BaseFacebook class, but it may be set by the JavaScript SDK.
the name of the cookie that would house the signed request value.
None found |
getMetadataCookieName() : string
Constructs and returns the name of the cookie that potentially contain metadata. The cookie is not set by the BaseFacebook class, but it may be set by the JavaScript SDK.
the name of the cookie that would house metadata.
None found |
getCode() : mixed
Get the authorization code from the query parameters, if it exists, and otherwise return false to signal no authorization code was discoverable.
The authorization code, or false if the authorization code could not be determined.
None found |
getUserFromAccessToken() : integer
Retrieves the UID with the understanding that $this->accessToken has already been set and is seemingly legitimate. It relies on Facebook's Graph API to retrieve user information and then extract the user ID.
Returns the UID of the Facebook user, or 0 if the Facebook user could not be determined.
None found |
establishCSRFTokenState() : void
Lays down a CSRF state token for this process.
None found |
getAccessTokenFromCode(string $code, string $redirect_uri = null) : mixed
Retrieves an access token for the given authorization code (previously generated from www.facebook.com on behalf of a specific user). The authorization code is sent to graph.facebook.com and a legitimate access token is generated provided the access token and the user for which it was generated all match, and the user is either logged in to Facebook or has granted an offline access permission.
string | $code | An authorization code. |
string | $redirect_uri | Optional redirect URI. Default null |
An access token exchanged for the authorization code, or false if an access token could not be generated.
None found |
_restserver(array $params) : mixed
Invoke the old restserver.php endpoint.
array | $params | Method call object |
The decoded response object
None found |
isVideoPost(string $path, string $method = 'GET') : boolean
Return true if this is video post.
string | $path | The path |
string | $method | The http method (default 'GET') |
true if this is video post
None found |
_graph(string $path, string $method = 'GET', array $params = array()) : mixed
Invoke the Graph API.
string | $path | The path (required) |
string | $method | The http method (default 'GET') |
array | $params | The query/post data |
The decoded response object
None found |
_oauthRequest(string $url, array $params) : string
Make a OAuth Request.
string | $url | The path (required) |
array | $params | The query/post data |
The decoded response object
None found |
getAppSecretProof(string $access_token) : string
Generate a proof of App Secret This is required for all API calls originating from a server It is a sha256 hash of the access_token made using the app secret
string | $access_token | The access_token to be hashed (required) |
The sha256 hash of the access_token
None found |
makeRequest(string $url, array $params, \CurlHandler $ch = null) : string
Makes an HTTP request. This method can be overridden by subclasses if developers want to do fancier things or use something other than curl to make the request.
string | $url | The URL to make the request to |
array | $params | The parameters to use for the POST body |
\CurlHandler | $ch | Initialized curl handle |
The response text
None found |
parseSignedRequest(string $signed_request) : array
Parses a signed_request and validates the signature.
string | $signed_request | A signed token |
The payload inside it or null if the sig is wrong
None found |
makeSignedRequest(array $data) : string
Makes a signed_request blob using the given data.
array | $data | The data array. |
The signed request.
None found |
getApiUrl(string $method) : string
Build the URL for api given parameters.
string | $method | The method name. |
The URL for the given parameters
None found |
getUrl(string $name, string $path = '', array $params = array()) : string
Build the URL for given domain alias, path and parameters.
string | $name | The name of the domain |
string | $path | Optional path (without a leading slash) |
array | $params | Optional query parameters |
The URL for the given parameters
None found |
None found |
getHttpProtocol() : string
Returns the HTTP Protocol
The HTTP Protocol
None found |
getBaseDomain() : string
Returns the base domain used for the cookie.
The base domain
None found |
getCurrentUrl() : string
Returns the Current URL, stripping it of known FB parameters that should not persist.
The current URL
None found |
shouldRetainParam(string $param) : boolean
Returns true if and only if the key or key/value pair should be retained as part of the query string. This amounts to a brute-force search of the very small list of Facebook-specific params that should be stripped out.
string | $param | A key or key/value pair within a URL's query (e.g. 'foo=a', 'foo=', or 'foo'. |
None found |
throwAPIException(array $result)
Analyzes the supplied result to see if it was thrown because the access token is no longer valid. If that is the case, then we destroy the session.
array | $result | A record storing the error message returned by a failed API call. |
None found |
errorLog(string $msg)
Prints to the error log if you aren't in command line mode.
string | $msg | Log message |
None found |
base64UrlDecode(string $input) : string
Base64 encoding that doesn't need to be urlencode()ed.
Exactly the same as base64_encode except it uses
string | $input | base64UrlEncoded input |
The decoded string
None found |
base64UrlEncode(string $input) : string
Base64 encoding that doesn't need to be urlencode()ed.
Exactly the same as base64_encode except it uses
string | $input | The input to encode |
The base64Url encoded input, as a string.
None found |
getMetadataCookie() : array
Parses the metadata cookie that our Javascript API set
an array mapping key to value
None found |
isAllowedDomain(string $big, string $small) : boolean
Finds whether the given domain is allowed or not
string | $big | The value to be checked against $small |
string | $small | The input string |
Returns TRUE if $big matches $small
None found |
endsWith(string $big, string $small) : boolean
Checks if $big string ends with $small string
string | $big | The value to be checked against $small |
string | $small | The input string |
TRUE if $big ends with $small
None found |
setPersistentData(string $key, array $value) : void
Stores the given ($key, $value) pair, so that future calls to getPersistentData($key) return $value. This call may be in another request.
string | $key | |
array | $value |
None found |
getPersistentData(string $key, boolean $default = false) : mixed
Get the data for $key, persisted by BaseFacebook::setPersistentData()
string | $key | The key of the data to retrieve |
boolean | $default | The default value to return if $key is not found |
None found |
clearPersistentData(string $key) : void
Clear the data with $key from the persistent storage
string | $key |
None found |
None found |
None found |
getSharedSessionCookieName() : string
Returns the Shared session cookie name
The Shared session cookie name
None found |
constructSessionVariableName(string $key) : string
Constructs and returns the name of the session key.
string | $key | The key for which the session variable name to construct. |
The name of the session key.
None found |