SO IM Essayez de FeatherJs et j'ai pu enregistrer un nouvel utilisateur, demander un jeton et demander des données protégées (à l'aide de l'autorisation dans l'en-tête).
Très important: J'utilise uniquement l'API HTTP. Les documents semblent pointer souvent sur le module de plumes client, que je n'utilise pas. P>
Donc, actuellement, j'ai une configuration super simple, j'ai un service de messagerie avec un texte. Un avant de crochet pour traiter le message. Ici, je veux récupérer les informations utilisateur: p> cela ne fonctionne pas. Dans mon MDB, je ne récupérez que: P> const text = context.data.text
const user = context.params.user;
const token = context.params.accessToken
context.data = {
text,
userId: user._id,
tokId: token
}
return context;
};
};
3 Réponses :
Pas tout à fait sûr de ce qui a mal tourné, mais je l'ai eu maintenant en train de créer un nouveau projet.
Maintenant, j'ai recréé ce projet en fait avant et obtenu la question comme ci-dessus, mais cette fois-ci, il a travaillé en quelque sorte. P>
pour quiconque souhaite connaître les étapes que j'ai faites pour "corriger" il: p>
1.Créez un nouveau dossier 2. Les plumes génèrent une application 3. Les plumes génèrent une authentification 4. Les plumes génèrent des services (nom pour le service: messages) 5. Les plumes génèrent un crochet (nom: processus-msg, avant le crochet, modèle: messages) 6. Ajoutez ceci au processus de crochet-msg: p>
module.exports = function (options = {}) {
return async context => {
const user = context.params.user;
const text = context.data.text;
context.data = {
userId: user.email,
text,
dateTime: new Date().getTime()
}
return context;
};
};
allez dans authentication.js et trouvez la définition de app.service . Juste là, créez un crochet après et ajoutez les détails que vous voulez que le client reçoive
app.service('authentication').hooks({
before: {
...//as you currently have it
},
after: {
create: {
hook => {
// hook.result.accessToken is already provided
delete hook.params.user.password
hook.result.user = hook.params.user;
hook.result.token_type = 'Bearer';
hook.result.exp = 3600;
}
}
}
})
J'espère que cela vous aidera
Donc, si je comprends bien, vous voulez récupérer l'objet utilisateur du hook?
Vous pouvez simplement utiliser const user = context.user; pour accomplir cela.