Skip to content

Commit

Permalink
Added working Vk\Provider
Browse files Browse the repository at this point in the history
  • Loading branch information
ovr committed Sep 14, 2014
1 parent ccec8fd commit 6db2c6a
Showing 1 changed file with 39 additions and 0 deletions.
39 changes: 39 additions & 0 deletions providers/Vk/Provider.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@

namespace SocialConnect\Vk;

use SocialConnect\Auth\Provider\OAuth2\AccessToken;
use SocialConnect\Common\Entity\User;
use SocialConnect\Common\Hydrator\ObjectMap;

class Provider extends \SocialConnect\Auth\Provider\OAuth2\Provider
{
public function getBaseUri()
Expand All @@ -22,4 +26,39 @@ public function getRequestTokenUri()
{
return 'https://api.vk.com/oauth/token';
}

public function getName()
{
return 'vk';
}

/**
* @param $body
* @return AccessToken
*/
public function parseToken($body)
{
$result = \json_decode($body);

return new AccessToken($result->access_token);
}

/**
* @param AccessToken $accessToken
* @return User
*/
public function getUser(AccessToken $accessToken)
{
$response = $this->service->getHttpClient()->request($this->getBaseUri() . '/method/users.get?v=5.24&access_token=' . $accessToken->getToken());
$body = $response->getBody();
$result = \json_decode($body);

$hydrator = new ObjectMap(array(
'id' => 'id',
'first_name' => 'firstname',
'last_name' => 'lastname'
));

return $hydrator->hydrate(new User(), $result->response[0]);
}
}

0 comments on commit 6db2c6a

Please sign in to comment.