From bbcf6d26443020b5d71280af413a0f469fe9bb49 Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Thu, 7 Jun 2018 23:41:44 +0200 Subject: [PATCH] app/library/Auth.php: in loginAuth() lookup by OAuth provider id. --- app/library/Auth.php | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/app/library/Auth.php b/app/library/Auth.php index f65579c..9f1a841 100644 --- a/app/library/Auth.php +++ b/app/library/Auth.php @@ -45,32 +45,20 @@ class Auth extends Component * * @param UserDataInterface $auth */ - public function loginOauth(UserDataInterface $auth) + public function loginOauth(UserDataInterface $data) { - // Look for a user with this email. - $user = User::findFirstByEmail($auth->getEmail()); + $user = User::findFirstByOAuthID($data); if (!$user) { // Did not find any user. create him. - if (strlen($auth->getUsername()) > 0) { - $name = $auth->getUsername(); - } else if(strlen($auth->getName()) > 0) { - $name = $auth->getName(); - } else { - $name = ''; - } - - $user = new User(); - $user->setEmail($auth->getEmail()) - ->setUsername($name); - + $user = User::createFromOAuthData($data); $user->save(); } $this->setIdentity($user->getId()); $this->_eventsManager->fire('auth:onLogin', $this, - "OAuth {$auth->getProvider()}"); + "OAuth {$data->getProvider()}"); } /**