Skip to content

Commit 49ecc4c

Browse files
(feat) Extract some logic to a userInstance method. (#663)
* Extract logic to userInstance method. * Update AbstractProvider.php --------- Co-authored-by: Taylor Otwell <taylor@laravel.com>
1 parent 549471c commit 49ecc4c

File tree

1 file changed

+20
-8
lines changed

1 file changed

+20
-8
lines changed

src/Two/AbstractProvider.php

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -239,14 +239,26 @@ public function user()
239239

240240
$response = $this->getAccessTokenResponse($this->getCode());
241241

242-
$this->user = $this->mapUserToObject($this->getUserByToken(
243-
$token = Arr::get($response, 'access_token')
244-
));
245-
246-
return $this->user->setToken($token)
247-
->setRefreshToken(Arr::get($response, 'refresh_token'))
248-
->setExpiresIn(Arr::get($response, 'expires_in'))
249-
->setApprovedScopes(explode($this->scopeSeparator, Arr::get($response, 'scope', '')));
242+
$user = $this->getUserByToken(Arr::get($response, 'access_token'));
243+
244+
return $this->userInstance($response, $user);
245+
}
246+
247+
/**
248+
* Create a user instance from the given data.
249+
*
250+
* @param array $response
251+
* @param array $user
252+
* @return \Laravel\Socialite\Two\User
253+
*/
254+
protected function userInstance(array $response, array $user)
255+
{
256+
$this->user = $this->mapUserToObject($user);
257+
258+
return $this->user->setToken(Arr::get($response, 'access_token'))
259+
->setRefreshToken(Arr::get($response, 'refresh_token'))
260+
->setExpiresIn(Arr::get($response, 'expires_in'))
261+
->setApprovedScopes(explode($this->scopeSeparator, Arr::get($response, 'scope', '')));
250262
}
251263

252264
/**

0 commit comments

Comments
 (0)