Conociendo Flask-Login

  
5 de Diciembre de 2014   0  

Flask es un micro framework web que nos permite liberar páginas web de manera ágil, desarrollando la parte del BackEnd con el lenguaje de programación Python.

Este framework web no cuenta con un sistema de administración de sesiones integrada por default, sin embargo, en la comunidad se ha venido trabajando una librería llamada “flask-login” la cual platicaremos en este post.

¿ Que es Flask-login ?

Flask-Login es una librería que nos proporciona la posibilidad de gestionar las sesiones de nuestros usuario; se ocupa de las tareas comunes como el inicio de sesión, logout y recordar las sesiones de los usuarios durante periodos de tiempo personalizados.

¿Que se puede hacer con esta librería?
  • Almacenar el ID de la sesión del usuario activo, y nos permite abrir o cerrar una sesión.
  • Permite restringir vistas o “views” a usuarios sin sesión activa.
  • Permite implementar la funcionalidad “remember me” de manera fácil.
  • Permite proteger las cookies que almacenan la información de las sesiones.
¿Que no hace esta librería?
  • Imponer el uso de algún tipo de base de datos u otro método de almacenamiento. El programador debe sentirse libre de poder implementar el sistema de almacenamiento para la recuperación de la información de sus usuarios.
  • Restringir el uso de “username y password”, OpenID o cualquier método de authenticación.
  • Manejar permisos más allá de “conectado o no”.
  • Manejar el registro de usuarios o recuperación de la cuenta.
Métodos disponibles para el manejo de las sesiones.

Flask-login nos provee de diversas funciones muy interesantes para el uso de sesiones y a continuación te presento las más interesantes:

  • is_authenticated: Devuelve “True” si el usuario se autentica,  es decir, que ha proporcionado unas credenciales válidas.
  • is_active: Devuelve “True” si el usuario se encuentra activo. Además de ser autenticado, también han activado su cuenta, no se ha suspendido, o cualquier condición que su aplicación requiera para rechazar una cuenta.
  • is_anonymous: Retorna “True” si se detecta que es la sesión de usuario anónimo. La respuesta es “False” cuando se detecta que es un usuario con unas sesión correcta.
  • get_id: Nos devuelve una cadena en Unicode que identifica de forma única a un usuario logeado en el sistema.
Función Remember Me

Actualmente la función “remember me” es muy utilizada en los sistemas de registro web. Nos permite mantener una sesión activa por comodidad, a fin de recordar nuestras credenciales hasta que el usuario cierre explícitamente su sesión o hasta que caduque la cookie que almacena esta información. Pues bien, Flask-Login nos permite integrar esta funcionalidad en nuestra web de una manera muy pero muy sencilla.

Kawaii_cookie_by_themisstaked-d67gt6i

Para ello necesitamos pasar el parámetro “remember=True” a la función login_user() y con esto ya tendremos listo nuestra funcionalidad “remember_me”. Impresionante !

 

Estas cookies son a prueba de falsificación de datos, ya que si algún usuario manipula la cookie e inserta el ID de otro usuario, Flask-Login lo reconocerá y rechazará la cookie, como si no existiera en el navegador.

En resumen.

Esta librería Flask-Login nos permitirá integrar diferentes funcionalidades de manejo de sesiones en nuestros sistemas construidos con Flask sin tener que programar todo un motor de seguridad de cero.

He utilizado esta librería en proyecto personales y es tan flexible que se adapta a casi cualquier tipo de almacenamiento de datos (yo lo he utilizado con MongoDB).

Si tienen el interés de conocer más sobre esta librería, pueden consultar su página oficial en: flask-login.readthedocs.org



Alex Dzul

FullStack Python / Django Developer. #jslove

Etiquetas

Temas relacionados