@@ -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