/** * @param UserProviderInterface $provider * @param TokenInterface $token * * @return bool|ApiKeyUserToken * @throws AuthenticationException */ protected function doAuth($provider, TokenInterface $token) { if (!$provider instanceof ApiKeyUserProviderInterface) { return false; } /** @var UserInterface $user */ $user = $provider->loadUserByApiKey($token->getCredentials()); if ($user && $user->isEnabled()) { $authenticatedToken = new ApiKeyUserToken($user->getRoles()); $authenticatedToken->setUser($user); return $authenticatedToken; } throw new AuthenticationCredentialsNotFoundException(); }