summaryrefslogtreecommitdiff
path: root/vendor/league/oauth2-client/src/Provider/Instagram.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/league/oauth2-client/src/Provider/Instagram.php')
-rw-r--r--vendor/league/oauth2-client/src/Provider/Instagram.php59
1 files changed, 59 insertions, 0 deletions
diff --git a/vendor/league/oauth2-client/src/Provider/Instagram.php b/vendor/league/oauth2-client/src/Provider/Instagram.php
new file mode 100644
index 0000000..0377c8a
--- /dev/null
+++ b/vendor/league/oauth2-client/src/Provider/Instagram.php
@@ -0,0 +1,59 @@
+<?php
+
+namespace League\OAuth2\Client\Provider;
+
+use League\OAuth2\Client\Entity\User;
+
+class Instagram extends AbstractProvider
+{
+ public $scopeSeparator = ' ';
+ public $scopes = ['basic'];
+ public $responseType = 'json';
+
+ public function urlAuthorize()
+ {
+ return 'https://api.instagram.com/oauth/authorize';
+ }
+
+ public function urlAccessToken()
+ {
+ return 'https://api.instagram.com/oauth/access_token';
+ }
+
+ public function urlUserDetails(\League\OAuth2\Client\Token\AccessToken $token)
+ {
+ return 'https://api.instagram.com/v1/users/self?access_token='.$token;
+ }
+
+ public function userDetails($response, \League\OAuth2\Client\Token\AccessToken $token)
+ {
+ $user = new User();
+
+ $description = (isset($response->data->bio)) ? $response->data->bio : null;
+
+ $user->exchangeArray([
+ 'uid' => $response->data->id,
+ 'nickname' => $response->data->username,
+ 'name' => $response->data->full_name,
+ 'description' => $description,
+ 'imageUrl' => $response->data->profile_picture,
+ ]);
+
+ return $user;
+ }
+
+ public function userUid($response, \League\OAuth2\Client\Token\AccessToken $token)
+ {
+ return $response->data->id;
+ }
+
+ public function userEmail($response, \League\OAuth2\Client\Token\AccessToken $token)
+ {
+ return;
+ }
+
+ public function userScreenName($response, \League\OAuth2\Client\Token\AccessToken $token)
+ {
+ return $response->data->full_name;
+ }
+}