Autenticación por sesión, proveedores sociales, protección CSRF y patrones de cookies seguras.
¿Qué es skills?
Este skill proporciona un conjunto de reglas y patrones recomendados para implementar autenticación y autorización robustas en aplicaciones web. Se centra en el uso de autenticación basada en sesiones para aplicaciones web, reservando JWT exclusivamente para comunicación entre APIs. Incluye directrices para integración con proveedores sociales como Google y GitHub, uso de magic links como alternativa a contraseñas, y control de acceso basado en roles (RBAC) mediante el campo `user.role` en el servidor. Además, establece protección CSRF en todos los endpoints de mutación y configuración estricta de cookies seguras (`httpOnly`, `secure`, `sameSite: 'lax'`, `maxAge` adecuado). También se cubre la rotación de refresh tokens para evitar tokens perpetuos. Es compatible con cualquier framework o plataforma que utilice sesiones y middleware, como Node.js (Express, Next.js), Python (Flask), o Ruby on Rails. El skill ayuda a evitar malas prácticas comunes, como almacenar tokens en localStorage o realizar verificaciones de roles solo en el cliente sin validación del servidor.