Estoy tratando de integrar jwt/autenticación local en cualquier llamada a plumas. Por lo tanto, al incluir usuario/contraseña en cualquier llamada que autorice, en lugar de requerir una llamada previa individual al extremo de autorización/autorización y pasar un encabezado a las llamadas posteriores. Intenté usar la autenticación, pero no ve mis estrategias de autenticación desde un gancho. Aquí está el código de creación actual, devuelve el token jwt, pero ¿cómo me autentico desde aquí e integro los datos del usuario de la base de datos en el contexto como lo haría la autenticación en general?
module.exports = (options = {}) => { return async (context) => { let promise = new Promise((resolve, reject) => { context.app .service("authentication") .create({ username: context.data.username, password: context.data.password, strategy:"local" }) .then((response) => { console.log(response) context.arguments[1]['Authorization'] = response.accessToken resolve(context); }); }); let result = await promise; if (result) { return context; } }; };El enlace de autenticación puede tomar cualquier estrategia y buscará lo que pase en params.authentication . En tu ejemplo lo siguiente:
module.exports = (options = {}) => { return async (context) => { context.params = { ...context.params, authentication: { strategy: 'local', username: context.data.username, password: context.data.password } } return context; }; }; Permitiría que se ejecute authenticate('local') . Si desea obtener la información de autenticación de una solicitud HTTP, puede implementar el método parse(req, res) en una estrategia personalizada.