public function loginWithToken($email, $token, $remoteIp) { $user = $this->getUserOrAssertAndRecordLoginFailure($email, $remoteIp); try { $userToken = $this->userTokenRepository->findLatestOneByUserId($user->getId()); } catch (EntityNotFoundException $e) { $this->recordLogin($email, $remoteIp, UserLoginResultType::fail(), $user); throw UserLoginException::tokenNotFound(); } if (!$userToken->verifyToken($token)) { $this->recordLogin($email, $remoteIp, UserLoginResultType::fail(), $user); throw UserLoginException::tokenNotValid(); } if (!$userToken->verifyTokenDateValid()) { $this->recordLogin($email, $remoteIp, UserLoginResultType::fail(), $user); throw UserLoginException::tokenExpired(); } $this->recordLogin($email, $remoteIp, UserLoginResultType::success(), $user); return $user; }
public function testGetters() { $this->assertSame('Fail', UserLoginResultType::fail()->getName()); $this->assertSame('Success', UserLoginResultType::success()->getName()); }
public function getUserLoginResultType() { return UserLoginResultType::success(); }