/**
  * Fetch access token using code, used in the second step of OAuth flow.
  *
  * @param $accessCode
  * @return \League\OAuth2\Client\Token\AccessToken
  */
 public function fetchAccessToken($accessCode)
 {
     $provider = new Instagram(['clientId' => $this->ClientID, 'clientSecret' => $this->ClientSecret, 'redirectUri' => $this->getRedirectUri() . '?provider_id=' . $this->ID]);
     //TODO: handle token expiry (as of 2016-08-03, Instagram access tokens don't expire.)
     //TODO: save returned user data?
     return $token = $provider->getAccessToken('authorization_code', ['code' => $accessCode]);
 }
Esempio n. 2
0
 function it_should_return_access_token(OAuthProvider $provider, StubSession $session, AccessToken $accessToken)
 {
     $authorizationCode = 'foobar-authorization-code';
     $provider->getAccessToken('authorization_code', ['code' => $authorizationCode])->shouldBeCalled()->willReturn($accessToken);
     $accessToken->getToken()->shouldBeCalled()->willReturn($token = 'foo-token');
     $session->put('instamob.oauth_access_token', $token)->shouldBeCalled();
     $this->authorize($authorizationCode);
     $session->get('instamob.oauth_access_token')->shouldBeCalled()->willReturn('foo-token');
     $this->accessToken()->shouldBeEqualTo('foo-token');
 }
Esempio n. 3
0
 /**
  * Retrieve OAuth2 access token for authenticated user
  *
  * @param  srting $authorizationCode
  *
  * @return \Instamob\Contracts\AuthInterface
  */
 public function authorize($authorizationCode)
 {
     $this->accessToken = $this->provider->getAccessToken('authorization_code', ['code' => $authorizationCode]);
     $this->session->put('instamob.oauth_access_token', $this->accessToken->getToken());
     return $this;
 }