public function authenticate(TokenInterface $token) { /* @var $token Token */ try { $credentials = $token->getCredentials(); $user = $this->userProvider->authenticate($token->getApiServerInterface(), $credentials[0], $credentials[1]); } catch (\Exception $e) { throw new AccessDeniedHttpException('Authentication error: ' . $e->getMessage()); } $authenticatedToken = new Token($token->getApiServerInterface(), $user->getRoles()); $authenticatedToken->setUser($user); return $authenticatedToken; }