if ($authUser = $userClass::where('id', $user->id)->first()) {
$authUser->update([
'id' => $user->id,
+ 'email' => $user->email,
'avatar' => $user->avatar,
'name' => $user->name,
'username' => $user->nickname,
return $userClass::create([
'id' => $user->id,
+ 'email' => $user->email,
'avatar' => $user->avatar,
'name' => $user->name,
'username' => $user->nickname,
+++ /dev/null
-<?php
-
-namespace Cubist\Socialite;
-
-use Illuminate\Contracts\Auth\Authenticatable;
-use Laravel\Socialite\Facades\Socialite;
-use Mpyw\NullAuth\NullAuthenticatable;
-
-class User implements Authenticatable
-{
- use NullAuthenticatable;
-
- protected $avatar;
- protected $name;
- protected $id;
- protected $nickname;
- protected $email;
-
- /**
- * @return mixed
- */
- public function getId()
- {
- return $this->id;
- }
-
- /**
- * @param mixed $id
- */
- public function setId($id): void
- {
- $this->id = $id;
- }
-
- /**
- * @return mixed
- */
- public function getNickname()
- {
- return $this->nickname;
- }
-
- /**
- * @param mixed $nickname
- */
- public function setNickname($nickname): void
- {
- $this->nickname = $nickname;
- }
-
- /**
- * @return mixed
- */
- public function getName()
- {
- return $this->name;
- }
-
- /**
- * @param mixed $name
- */
- public function setName($name): void
- {
- $this->name = $name;
- }
-
- /**
- * @return mixed
- */
- public function getAvatar()
- {
- return $this->avatar;
- }
-
- /**
- * @param mixed $avatar
- */
- public function setAvatar($avatar): void
- {
- $this->avatar = $avatar;
- }
-
- /**
- * @return mixed
- */
- public function getEmail()
- {
- return $this->email;
- }
-
- /**
- * @param mixed $email
- */
- public function setEmail($email): void
- {
- $this->email = $email;
- }
-
-
- public function getKeyName()
- {
- return 'id';
- }
-
- /**
- * @param $provider
- * @return User|null
- */
- public static function fromProvider($provider)
- {
- $socialiteUser = Socialite::driver($provider)->user();
- if ($socialiteUser) {
- $userClass = config('auth.providers.users.model');
- /** @var User $instance */
- $instance = new $userClass();
- $instance->setId($socialiteUser->getId());
- $instance->setEmail($socialiteUser->getEmail());
- $instance->setAvatar($socialiteUser->getAvatar());
- $instance->setName($socialiteUser->getName());
- $instance->setNickname($socialiteUser->getNickname());
- return $instance;
- }
- return null;
- }
-}
\ No newline at end of file