SENTRY 2: Autenticación y autorización de usuarios [PHP]

Sentry es una buena propuesta para aquellos desarrolladores de PHP que buscan una solución a la hora de autenticar y autorizar usuarios en sus aplicaciones.

Comencemos hablando un poco sobre algo que genera bastante confusión, la diferencia entre autenticar y autorizar un cliente.

Cuando se habla de autorización y autenticación muchas veces se confunde estos dos procesos como si fuesen sinónimos, esto es un error conceptual que a futuro puede acarrear muchísimos problemas.

Autenticación se refiere al proceso de verificar la identidad de un usuario, si nos referimos a un entorno web estaríamos hablando del proceso de comprobar si los datos del usuario son correcto, en general hablaríamos del par usuario y contraseña. En definitiva autenticar un usuario se puede vincular con el famoso login que posee cualquier sitio web con acceso a datos privados.

Autorizar se refiere al proceso de aceptar o rechazar a un usuario a acceder a información o sección de un sistema restringido al publico. Comúnmente el proceso de autorizar viene después que el de autenticar.

Autorizacion y autenticacion PHP

De forma practica un ejemplo de interacción entre autenticación y autorización seria: El usuario ingresa al sitio web y utiliza el sistema de login del mismo, si el usuario ingresa correctamente estos datos el sitio certifica que efectivamente el cliente es quien dice ser. Posteriormente el usuario autenticado decide modificar su foto de perfil, el sistema en ese caso va a autorizar a este cliente según una tabla que funcione a modo de control de acceso, verificando que el usuario tiene los privilegios suficientes para efectuar la tarea que esta solicitando.

El proceso completo es muy interesante, intente resumirlo para que se entienda pero si se encuentran interesados en continuar aprendiendo sobre el tema les recomiendo que lean la documentación de cualquier API popular, en estos casos se puede apreciar perfectamente como trabajan los sistemas a la hora de autenticar y autorizar usuarios. Incluso pueden leer sobre OAuth 2.0 que explica perfectamente el proceso incorporando tokens y más mecanismos para autorizar usuarios sin la necesidad de realizar una autenticación nativa (por ejemplo registro de usuarios mediante el API de Facebook o Twitter).

Volviendo a Sentry 2.0, el proyecto es una completa biblioteca escrita en PHP para facilitarnos la tarea de escribir un sistema que autorice y autentique usuarios. La principal ventaja de este proyecto es que puede funcionar de manera conjunta a los framework PHP más populares, por ejemplo Laravel 4, FuelPHP y CodeIgniter.

Otro detalle que me pareció interesante es que el proyecto cuenta con una documentación muy pero muy completa, ideal para este tipo de recursos que suelen ser bastante complicados de implementar.

De cara a las funciones contenidas por este proyecto se puede destacar que cuenta con todo el proceso relacionado a los usuarios (creación, edición, actualización, borrado), como también el reset de una cuenta en caso de que el usuario olvide su contraseña.

El proyecto se encuentra orientado pura y exclusivamente a servicios web.

Para funcionar los requerimientos son mínimos: PHP 5.3.7 o superior y la extensión MCrypt instalada en nuestro servidor.

Sentry 2 tiene muy buena pinta y es una solución muy aceptable a la hora de realizar un sistema de login PHP de calidad.

Categorizado en: