/**
  * 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;
 }
 public function testSessionFromSignedRequest()
 {
     $data = array('user_id' => 4, 'oauth_token' => 'fjm', 'state' => 'wow');
     $signedRequest = self::makeSignedRequest($data);
     $session = FacebookSession::newSessionFromSignedRequest($signedRequest, 'wow');
     $this->assertTrue($session instanceof FacebookSession);
     $this->assertEquals('fjm', $session->getToken());
 }
 public function testSessionFromSignedRequest()
 {
     $signedRequest = m::mock('Facebook\\Entities\\SignedRequest');
     $signedRequest->shouldReceive('get')->with('code')->once()->andReturn(null);
     $signedRequest->shouldReceive('get')->with('oauth_token')->once()->andReturn('foo_token');
     $signedRequest->shouldReceive('get')->with('expires', 0)->once()->andReturn(time() + 60 * 60 * 24);
     $signedRequest->shouldReceive('getUserId')->once()->andReturn('123');
     $session = FacebookSession::newSessionFromSignedRequest($signedRequest);
     $this->assertInstanceOf('Facebook\\FacebookSession', $session);
     $this->assertEquals('foo_token', $session->getToken());
     $this->assertEquals('123', $session->getUserId());
 }
 public function loginAsSignedRequest($signed_request)
 {
     $this->session = FacebookSession::newSessionFromSignedRequest($signed_request);
     return $this;
 }