/** * @inheritdoc */ public function loadUserByOAuthUserResponse(UserResponseInterface $response) { try { $user = $this->userManager->findUser($response->getEmail()); } catch (\Exception $e) { $username = $response->getEmail(); $firstName = $response->getFirstName() != '' ? $response->getFirstName() : $response->getNickName(); $lastName = $response->getLastName() != '' ? $response->getLastName() : ''; try { $user = $this->userManager->createNewUser($username, $response->getEmail(), $firstName, $lastName); } catch (\Exception $e) { throw $e; } } return new User($user); }
/** * Test manager will return the user by its login */ public function testShouldGetTheUserByEmailWhenNotFoundByLogin() { $this->createUserVersion1(); $userManager = new EzSocialLoginUserManager($this->repository); $user = $userManager->findUser('*****@*****.**'); self::assertInstanceOf('\\eZ\\Publish\\Core\\Repository\\Values\\User\\User', $user); self::assertEquals('user', $user->login); self::assertEquals('*****@*****.**', $user->email); }