appId = FacebookSession::_getTargetAppId($appId); $this->appSecret = FacebookSession::_getTargetAppSecret($appSecret); $this->instantiateSignedRequest(); } /** * Instantiates a new SignedRequest entity. * * @param string|null */ public function instantiateSignedRequest($rawSignedRequest = null) { $rawSignedRequest = $rawSignedRequest ?: $this->getRawSignedRequest(); if (!$rawSignedRequest) { return; } $this->signedRequest = new SignedRequest($rawSignedRequest, $this->state, $this->appSecret); } /** * Instantiates a FacebookSession from the signed request from input. * * @return FacebookSession|null */ public function getSession() { if ($this->signedRequest && $this->signedRequest->hasOAuthData()) { return FacebookSession::newSessionFromSignedRequest($this->signedRequest); } return null; } /** * Returns the SignedRequest entity. * * @return \Facebook\Entities\SignedRequest|null */ public function getSignedRequest() { return $this->signedRequest; } /** * Returns the user_id if available. * * @return string|null */ public function getUserId() { return $this->signedRequest ? $this->signedRequest->getUserId() : null; } /** * Get raw signed request from input. * * @return string|null */ abstract public function getRawSignedRequest(); /** * Get raw signed request from GET input. * * @return string|null */ public function getRawSignedRequestFromGet() { if (isset($_GET['signed_request'])) { return $_GET['signed_request']; } return null; } /** * Get raw signed request from POST input. * * @return string|null */ public function getRawSignedRequestFromPost() { if (isset($_POST['signed_request'])) { return $_POST['signed_request']; } return null; } /** * Get raw signed request from cookie set from the Javascript SDK. * * @return string|null */ public function getRawSignedRequestFromCookie() { if (isset($_COOKIE['fbsr_' . $this->appId])) { return $_COOKIE['fbsr_' . $this->appId]; } return null; } }