From 864445c48462dfeb19fa695fce9b8ead71613a70 Mon Sep 17 00:00:00 2001 From: Steven Maguire Date: Sat, 21 Mar 2015 13:01:47 -0500 Subject: [PATCH] removing linkedin support adding readme link --- README.md | 2 +- src/Provider/LinkedIn.php | 74 -------------------------- test/src/Provider/LinkedInTest.php | 84 ------------------------------ 3 files changed, 1 insertion(+), 159 deletions(-) delete mode 100644 src/Provider/LinkedIn.php delete mode 100644 test/src/Provider/LinkedInTest.php diff --git a/README.md b/README.md index 87010c8..2811b36 100644 --- a/README.md +++ b/README.md @@ -111,7 +111,6 @@ This package currently has built-in support for: - Github - Google - Instagram -- LinkedIn These are as many OAuth 2 services as we plan to support officially. Maintaining a wide selection of providers damages our ability to make this package the best it can be, especially as we progress towards v1.0. @@ -129,6 +128,7 @@ so please help them out with a pull request if you notice this. - [Facebook](https://packagist.org/packages/league/oauth2-facebook) - [FreeAgent](https://github.com/CloudManaged/oauth2-freeagent) - [Google Nest](https://github.com/JC5/nest-oauth2-provider) +- [LinkedIn](https://github.com/thephpleague/oauth2-linkedin) - [Mail.ru](https://packagist.org/packages/aego/oauth2-mailru) - [Meetup](https://github.com/howlowck/meetup-oauth2-provider) - [Microsoft](https://github.com/stevenmaguire/oauth2-microsoft) diff --git a/src/Provider/LinkedIn.php b/src/Provider/LinkedIn.php deleted file mode 100644 index 1fffab5..0000000 --- a/src/Provider/LinkedIn.php +++ /dev/null @@ -1,74 +0,0 @@ -fields); - return 'https://api.linkedin.com/v1/people/~:(' . $fields . ')?format=json'; - } - - public function userDetails($response, AccessToken $token) - { - $user = new User(); - - $email = (isset($response->emailAddress)) ? $response->emailAddress : null; - $location = (isset($response->location->name)) ? $response->location->name : null; - $description = (isset($response->headline)) ? $response->headline : null; - $pictureUrl = (isset($response->pictureUrl)) ? $response->pictureUrl : null; - - $user->exchangeArray([ - 'uid' => $response->id, - 'name' => $response->firstName.' '.$response->lastName, - 'firstname' => $response->firstName, - 'lastname' => $response->lastName, - 'email' => $email, - 'location' => $location, - 'description' => $description, - 'imageurl' => $pictureUrl, - 'urls' => $response->publicProfileUrl, - ]); - - return $user; - } - - public function userUid($response, AccessToken $token) - { - return $response->id; - } - - public function userEmail($response, AccessToken $token) - { - return isset($response->emailAddress) && $response->emailAddress - ? $response->emailAddress - : null; - } - - public function userScreenName($response, AccessToken $token) - { - return [$response->firstName, $response->lastName]; - } -} diff --git a/test/src/Provider/LinkedInTest.php b/test/src/Provider/LinkedInTest.php deleted file mode 100644 index a672f59..0000000 --- a/test/src/Provider/LinkedInTest.php +++ /dev/null @@ -1,84 +0,0 @@ -provider = new \League\OAuth2\Client\Provider\LinkedIn([ - 'clientId' => 'mock_client_id', - 'clientSecret' => 'mock_secret', - 'redirectUri' => 'none', - ]); - } - - public function testAuthorizationUrl() - { - $url = $this->provider->getAuthorizationUrl(); - $uri = parse_url($url); - parse_str($uri['query'], $query); - - $this->assertArrayHasKey('client_id', $query); - $this->assertArrayHasKey('redirect_uri', $query); - $this->assertArrayHasKey('state', $query); - $this->assertArrayHasKey('scope', $query); - $this->assertArrayHasKey('response_type', $query); - $this->assertArrayHasKey('approval_prompt', $query); - $this->assertNotNull($this->provider->state); - } - - public function testUrlAccessToken() - { - $url = $this->provider->urlAccessToken(); - $uri = parse_url($url); - - $this->assertEquals('/uas/oauth2/accessToken', $uri['path']); - } - - public function testGetAccessToken() - { - $client = $this->createMockHttpClient(); - $response = $this->createMockResponse('{"access_token": "mock_access_token", "expires": 3600, "refresh_token": "mock_refresh_token", "uid": 1}'); - - $client->shouldReceive('post')->times(1)->andReturn($response); - - $this->provider->setHttpClient($client); - - $token = $this->provider->getAccessToken('authorization_code', ['code' => 'mock_authorization_code']); - - $this->assertEquals('mock_access_token', $token->accessToken); - $this->assertLessThanOrEqual(time() + 3600, $token->expires); - $this->assertGreaterThanOrEqual(time(), $token->expires); - $this->assertEquals('mock_refresh_token', $token->refreshToken); - $this->assertEquals('1', $token->uid); - } - - public function testScopes() - { - $this->assertEquals(['r_basicprofile r_emailaddress r_contactinfo'], $this->provider->getScopes()); - } - - public function testUserData() - { - $client = $this->createMockHttpClient(); - - $postResponse = $this->createMockResponse('{"access_token": "mock_access_token", "expires": 3600, "refresh_token": "mock_refresh_token", "uid": 1}'); - $getResponse = $this->createMockResponse('{"id": 12345, "firstName": "mock_first_name", "lastName": "mock_last_name", "emailAddress": "mock_email", "location": { "name": "mock_location" }, "headline": "mock_headline", "pictureUrl": "mock_picture_url", "publicProfileUrl": "mock_profile_url"}'); - - $client->shouldReceive('post')->times(1)->andReturn($postResponse); - $client->shouldReceive('get')->times(4)->andReturn($getResponse); - - $this->provider->setHttpClient($client); - - $token = $this->provider->getAccessToken('authorization_code', ['code' => 'mock_authorization_code']); - $user = $this->provider->getUserDetails($token); - - $this->assertEquals(12345, $this->provider->getUserUid($token)); - $this->assertEquals(['mock_first_name', 'mock_last_name'], $this->provider->getUserScreenName($token)); - $this->assertEquals('mock_email', $this->provider->getUserEmail($token)); - $this->assertEquals('mock_email', $user->email); - } -}