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.