public function authenticate(TokenInterface $token) { $user = $this->userProvider->loadUserByToken($token); if ($user) { $authenticatedToken = new ApiToken($user->getRoles()); $authenticatedToken->setUser($user); return $authenticatedToken; } throw new AuthenticationException('Authentication failed.'); }
public function loadUserByToken(ApiToken $token) { if (empty($token->getToken())) { return; } if ($token->getUserType() === 'user') { return $this->em->getRepository('CivixCoreBundle:User')->findOneBy(['token' => $token->getToken()]); } $session = $this->em->getRepository(Session::class)->findOneByToken($token->getToken()); if ($session) { return $this->em->getRepository('CivixCoreBundle:' . ucfirst($session->getUserType()))->find($session->getUserId()); } }