* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Security\Http\Authenticator\Passport\Badge; use Symfony\Component\Security\Http\EventListener\CheckRememberMeConditionsListener; /** * Adds support for remember me to this authenticator. * * The presence of this badge doesn't create the remember-me cookie. The actual * cookie is only created if this badge is enabled. By default, this is done * by the {@see CheckRememberMeConditionsListener} if all conditions are met. * * @author Wouter de Jong * * @final */ class RememberMeBadge implements BadgeInterface { private bool $enabled = false; public function __construct( public readonly array $parameters = [], ) { } /** * Enables remember-me cookie creation. * * In most cases, {@see CheckRememberMeConditionsListener} enables this * automatically if always_remember_me is true or the remember_me_parameter * exists in the request. * * @return $this */ public function enable(): static { $this->enabled = true; return $this; } /** * Disables remember-me cookie creation. * * The default is disabled, this can be called to suppress creation * after it was enabled. * * @return $this */ public function disable(): static { $this->enabled = false; return $this; } public function isEnabled(): bool { return $this->enabled; } public function isResolved(): bool { return true; // remember me does not need to be explicitly resolved } }