express - FeatherJS - 用钩子获取用户信息?
问题描述
所以我尝试了 FeatherJS,我能够注册一个新用户,请求一个令牌,还请求受保护的数据(在标题中使用授权)。
非常重要:我只使用 HTTP Rest API。文档似乎经常指向我不使用的客户端羽毛模块。
所以目前我有一个超级简单的设置,我有一个带有文本的消息服务。一个前钩子来处理消息。在这里我想取回用户信息:
module.exports = function (options = {}) {
return async context => {
const text = context.data.text
const user = context.params.user;
context.data = {
text,
userId: user._id
}
return context;
};
};
这不起作用。在我的 mdb 中,我只返回:
{
"_id": "5c35ce18523501803f6a8d8d",
"text": "123",
"createdAt": "2019-01-09T10:34:00.774Z",
"updatedAt": "2019-01-09T10:34:00.774Z",
"__v": 0
}
我尝试添加令牌,当我通过授权发布消息时我总是提交,如下所示:
module.exports = function (options = {}) { return async context => {
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;
};
};
但似乎我总是得到相同的结果,如上所示。
有什么想法可以通过使用 accessToken 来获取当前用户的用户信息吗?
以前从未使用过 FeathersJS,所以只是试图了解生态系统以及如何在 FeathersJS 中解决这个问题。
任何建议表示赞赏!提前谢谢大家!
解决方案
所以,如果我理解正确,你想从钩子中获取用户对象吗?
您可以使用const user = context.user;
来完成此操作。
推荐阅读
- node.js - 将 if 和 else 表达式存储在数据库中,并在 javascript 或 node.js 中执行表达式。如何做到这一点?
- terraform - 如何在 Terraform 中伪造云提供商凭据?
- python - 用于多个时间序列的 Matplotlib 热图以显示随时间的分布
- jquery - 编辑 fancybox ajax 请求的标头
- pandas - Pandas 使用来自另一个数值列的计算重新采样列中的分类数据
- javascript - 使用 removeChild 删除 HTML 段落
- wordpress - 用于课程注册的 Wordpress 插件
- powershell - 将 shell 脚本转换为 PowerShell
- python - SymPy/SciPy:涉及与时间相关的值
- excel - 如何将 Excel 工作簿合并为一个工作簿并命名工作表