Ver índice de contenidos del libro

A.6. RememberMeServiceProvider

El proveedor RememberMeServiceProvider añade la autenticación de tipo "Remember Me" al servicio SecurityServiceProvider. De esta manera, los usuarios pueden acceder a la aplicación sin tener que escribir su contraseña continuamente.

A.6.1. Parámetros de configuración

Este proveedor no define ningún parámetro.

A.6.2. Servicios proporcionados

Este proveedor no proporciona ningún servicio.

Nota Este proveedor si que define muchos servicios que se usan internamente y que es muy improbable que tengas que modificar en tu aplicación.

A.6.3. Cómo se registra el proveedor

Antes de registrar este servicio, asegúrate de haber registrado el servicio SecurityServiceProvider:

$app->register(new Silex\Provider\SecurityServiceProvider());
$app->register(new Silex\Provider\RememberMeServiceProvider());
 
$app['security.firewalls'] = array(
    'my-firewall' => array(
        'pattern'     => '^/secure$',
        'form'        => true,
        'logout'      => true,
        'remember_me' => array(
            'key'                => 'Valor aleatorio y único',
            'always_remember_me' => true,
            /* Otras opciones */
        ),
        'users' => array( /* ... */ ),
    ),
);

A.6.4. Configuración personalizada

La siguiente lista muestra todas las opciones de configuración disponibles para este proveedor:

  • key: un valor secreto, aleatorio y único que se utiliza para generar tokens.
  • name: el nombre de la cookie (por defecto se usa REMEMBERME).
  • lifetime: el tiempo de vida de la cookie (por defecto es 31536000, que equivale a 1 año).
  • path: el path de la cookie (por defecto es /).
  • domain: el dominio de la cookie (por defecto es null, lo que equivale al mismo dominio que la petición del usuario).
  • secure: indica si la cookie es segura o no (por defecto es false).
  • httponly: indica si la cookie es solo para HTTP (por defecto es true).
  • always_remember_me: indica si se activa la opción Remember Me" que mantiene a los usuarios conectados (por defecto es false).
  • remember_me_parameter: nombre del parámetro de la petición que activa la funcionalidad "Remember Me". Normalmente este el nombre del checkbox que se utiliza en el formulario de login para activar esta funcionalidad (por defecto es _remember_me, con un guión bajo por delante).