Open F-arellano opened 3 years ago
Hay 2 formas de arreglarlo que son relativamente simples:
passthrough: true
y luego controlando si existe o no el usuario (se mostro al final de la cápsula)koa-jwt
es un middleware, y como ya debiesen saber se pueden aplicar a una ruta específica tal que router.call(name, route, middleware1, middleware2, ... , callback)
y se ejecutan en orden, entonces dado el ejemplo, la autenticación podría ser perfectamente router.get('api.nombre', '/users/me', jwt({ secret: process.env.JWT_SECRET, key: 'authData' }), apiSetCurrentUser, async (ctx) => ...)
y es totalmente válido.Saludos!
Necesito implementar los paths users/me y users/:id, y quiero que solo users/me me pida validación del token. Pasa que si coloco users/me después, al llamar a la ruta la app interpreta 'me' como un id, y retorna un internal server error. Por otra parte, si la coloco al principio entonces users/:id me retorna un authentication error.
Intenté separar las rutas en 2 archivos distintos, pero en el momento en que llamo a router.use(jwt ...), todas las rutas definidas más abajo requieren validación, aunque sean importadas de otros archivos.
¿Hay alguna forma de arreglar esto?