diff --git a/src/Components/GoogleProvider.php b/src/Components/GoogleProvider.php index 6a9e32d..b172b10 100644 --- a/src/Components/GoogleProvider.php +++ b/src/Components/GoogleProvider.php @@ -30,12 +30,15 @@ public function __construct($clientId, $clientSecret, $redirectUrl) */ protected function mapUserToObject(array $user) { + $avatarUrl = array_get($user, 'picture'); + return (new User)->setRaw($user)->map([ - 'id' => $user['id'], + 'id' => array_get($user, 'id'), 'nickname' => array_get($user, 'nickname'), - 'name' => $user['displayName'], - 'email' => $user['emails'][0]['value'], - 'avatar' => array_get($user, 'image')['url'], + 'name' => array_get($user, 'name'), + 'email' => array_get($user, 'email'), + 'avatar' => $avatarUrl, + 'avatar_original' => preg_replace('/\?sz=([0-9]+)/', '', $avatarUrl), ]); } } \ No newline at end of file diff --git a/src/Services/BaseOAuthService.php b/src/Services/BaseOAuthService.php index 04343e6..adffb66 100644 --- a/src/Services/BaseOAuthService.php +++ b/src/Services/BaseOAuthService.php @@ -210,7 +210,8 @@ public function createShadowOAuthUser(OAuthUserContract $OAuthUser) if (empty($email)) { $email = $OAuthUser->getId() . '+' . $serviceName . '@' . $serviceName . '.com'; - } else { + } + else { list($emailId, $domain) = explode('@', $email); $email = $emailId . '+' . $serviceName . '@' . $domain; }