Si aún no lo conocéis, Account Manager (o administrador de cuentas) es un proyecto que se inició como experimento en Mozilla Labs y que tiene como objetivo que sea el navegador quién gestione la identidad de los usuarios y los registre, inicie sesión o la cierre con las webs de forma transparente.
Se acaba de publicar una versión alpha de la extensión y se ha anunciado que pronto la veremos integrada en nuestro navegador favorito. Pero ¿cómo funciona el administrador de cuentas?
Objetivos
- Crear un protocolo que las webs puedan usar para definir cómo administran sus cuentas y sesiones de forma que el navegador pueda entender. Esto es, que si yo tengo una web en la que se pueden registrar usuarios, pueda decir al navegador cómo se pueden registrar, iniciar o cerrar sesión para que lo gestione. Leer la última especificación técnica.
- Crear una extensión para implementar este protocolo en Firefox.
¿Cómo funciona?
Veámonoslo con unos ejemplos prácticos:
Conexión simple
Juan visita continuamente páginas que requieren iniciar sesión como usuario y aunque tiene guardadas todas sus contraseñas para que el navegador las recuerde, está cansado de tener que buscar el formulario de inicio de sesión y recordar dónde está en cada sitio.
El administrador de cuentas le proporciona un botón para iniciar sesión con un solo clic en todas estas páginas y si selecciona la opción “mantenerme siempre conectado”, nunca más tendrá que lidiar con pantallas de inicio de sesión.
Conexión múltiple
Puede que Juan y Pedro usen la misma sesión en un equipo y no quieran o sepan crear varias cuentas en el sistema (como sería recomendable), por lo que cada uno tiene un perfil creado en el administrador de cuentas, pudiendo usar uno u otro en las páginas web donde requieran su identidad.
Registro automático y cambio de contraseña
Pedro visita habitualmente una web que le comenta que si se crea una cuenta de usuario podrá disfrutar de nuevas y mejores opciones, por lo que hace clic en el botón “Conectar”. Firefox le presentará un resumen con los datos personales (previamente definidos) que se enviarán al sitio y, una vez confirmados, la cuenta (con una contraseña aleatoria) se creará.
Cambio de contraseña maestra
Paula ha perdido su portatil en un bar hace unos días y está preocupada por sus datos personales y contraseñas. Dado que tiene un navegador sincronizado con el pc de sobremesa, abre el administrador de cuentas en este último y con una sola acción, cambia la contraseña de todas las webs donde está registrada.
Tengo una web, ¿cómo lo implemento para mis usuarios?
Tendrás que crear un documento JSON que el navegador pueda leer automáticamente con la información sobre los métodos que tu web implementa, por ejemplo para iniciar sesión:
{
"methods": {
"username-password-form": {
"connect": {
"method": "POST",
"path": "/accounts/LoginAuth",
"params": {
"username": "Email",
"password": "Passwd"
}
}
}
}
}
Recuerda implementar en el archivo json al menos los métodos para inicio y cierre de sesión, lee la documentación al respecto.
Este archivo lo llamaremos desde un archivo host-meta dentro de la carpeta .well-known/ quedando accesible de la forma http://www.tuweb.com/.well-known/host-meta Ver ejemplo de host-meta.
Para que el navegador pueda saber si el usuario ha iniciado o no sesión, deberás también modificar el código de tu aplicación donde se guarda la cookie de sesión para que también envíe una cabecera HTTP con el estado de la sesión:
X-Account-Management-Status: active; name=”Joe User”
Ver documentación al respecto.
Artículos relacionados: