<?php/* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */namespace Symfony\Component\Security\Core\Authentication\Provider;use Symfony\Component\Security\Core\Authentication\Token\AnonymousToken;use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;use Symfony\Component\Security\Core\Exception\AuthenticationException;use Symfony\Component\Security\Core\Exception\BadCredentialsException;trigger_deprecation('symfony/security-core', '5.3', 'The "%s" class is deprecated, use the new authenticator system instead.', AnonymousAuthenticationProvider::class);/** * AnonymousAuthenticationProvider validates AnonymousToken instances. * * @author Fabien Potencier <fabien@symfony.com> * * @deprecated since Symfony 5.3, use the new authenticator system instead */class AnonymousAuthenticationProvider implements AuthenticationProviderInterface{ /** * Used to determine if the token is created by the application * instead of a malicious client. * * @var string */ private $secret; /** * @param string $secret The secret shared with the AnonymousToken */ public function __construct(string $secret) { $this->secret = $secret; } /** * {@inheritdoc} */ public function authenticate(TokenInterface $token) { if (!$this->supports($token)) { throw new AuthenticationException('The token is not supported by this authentication provider.'); } if ($this->secret !== $token->getSecret()) { throw new BadCredentialsException('The Token does not contain the expected key.'); } return $token; } /** * {@inheritdoc} */ public function supports(TokenInterface $token) { return $token instanceof AnonymousToken; }}