Yo tengo un módulo de login y otro de gesión de usuarios que funciona por CLI bajo una url customizable por ejemplo /login y /users.
Lo prefiero así porque si me cambio a python o a node desde PHP, puedo mandarle comandos de sistema al módulo y comunicarme json.
De a poco lo e ido mejorando.
La mecánica es sencilla. Todo corre debajo de /login por ejemplo, y cuando el inicio de sesión es correcto, te manda a la url del sistema con un token. Luego un middleware puede autenticar el token y traerse los datos del usuario desde comandos de sistema, cuando el comando finaliza su ejecución, el middleware le manda la data al controlador y aquí nadie se entero de nada.
Un ejemplo para usar con shell_exec
Bash:
login-cli auth-token TOKEN
Para los usuarios sería algo así
Para las vistas uso un pre procesador de css como sass o less, y para el view engine, integré una versión standalone de blade como
ésta.
La gracia del tema, es poder configurar los colores empresa del proyecto rápidamente y poner en un archivo de configuración algunas reglas de negocios como:
- Largo de la clave
- Número de intentos fallidos
- Deshabilitar funcionalidades
Así puedes por ejemplo, no tener un panel de usuario, evitar que cambien sus claves, etc
Y lo mas bkn, es que, puedes ocuparlo en testing creando usuarios, o haciendo login por cli para probar cosas sin darte pajas ridículas. Me tomó varios meses entre fines de semana y noches la weaita sosi.