Funcionando el token based auth, kinda. POST /signup crea un usuario. POST /login autentica a un usuario con local y devuelve un JSON con userid y token.
Eliminadas unas cosas que me quedaron por un lío con atom.
Más partes de la API de authentication funcionando. Ya están creados los endpoints /users, /users/:id y /authenticate. Cada uno realizando (de forma rudimentaria) sus tareas.
Limpieza del auth anterior: Eliminado el archivo app/config/routes.js. Las routes están en la carpeta app/[nombre_app]/routes.js y se cargan en server.js.
jwt no longer required. Ahora el token se genera con bcrypt. Los tokens ahora se guardan en un array user.tokens. Implementada la l
ogica de autenticación por tokens con bearer. Creados los metodos de User respectivos.
Listo el middleware de auth por token. No se usa bearer sino este middleware. Lo que hace: Si el request tiene un header Authentication intenta usarlo para autenticar a un usario. Si el usuario existe, lo adjunta a request, sino devuelve error. Si el request no incluye el header, pasa de largo.
Ahora se guarda cuándo se usó el token por última vez. Además, manejo de errores algo rústico.
Centralized error handling.
email and password validation.
Added DELETE method behavior to /users/:userid.
Ahora los GET /users/:id devuelven 404 si el usuario no existe.
Ahora el PUT a /users/:id con password la cambia y hashea correctamente.
Sólo el propio usuario (validado por el token) puede eliminar su usuario.
Sólo el propio usuario (validado por el token) puede modificar su usuario.
Ahora GET /users/:id devuelve sólo algunos fields, y diferentes si el request lo hace el propio usuario.
GET /users ahora sólo devuleve algunos fields.
Changed authenticate route.