如何在环回中更好地获取当前用户id
How do I better get current user id in Loopback
由于loopback.getCurrentContext()
具有长期存在的不稳定性问题并且目前已弃用,我如何确保当用户通过API端点执行某些操作时,我知道如何识别他?
也许我可以在请求有效负载中发送令牌id并检查它?如果用户拿了怎么办?从Github上的问题页面有哪些替代方案?
查看https://docs.strongloop.com/display/public/LB/Making+authenticated+requests
总之,一旦您登录了一个用户,它应该在响应中给您返回一个AccessToken。然后,您可以在标题或查询字符串中使用它来证明您是登录用户:# Authorization Header
curl -X GET -H "Authorization: $ACCESS_TOKEN" '
http://localhost:3000/api/widgets
# Query Parameter
curl -X GET http://localhost:3000/api/widgets?access_token=$ACCESS_TOKEN
这是不容易伪造的,因为每个请求都检查访问令牌,以确保它是当前和有效的。
一旦您完成了这些,您可以通过(从https://github.com/strongloop/loopback/issues/569#issuecomment-60924099获取,除了将用户附加到req对象)
获取accessTokenapp.use(function(req, res, next) {
app.currentUser = null;
if (!req.accessToken) return next();
req.accessToken.user(function(err, user) {
if (err) return next(err);
req.currentUser = user;
next();
});
});
将此添加到server.js
或引导脚本中,从而在ctx.req.currentUser
上的任何位置都有user
对象。
相关文章:
- 从远程脚本获取用户IP
- JSON获取用户id's在嵌套数组中
- 获取用户选择的不带时区的日期
- 如何从客户端的数组中获取用户输入和返回值
- 如何使用Node.js脚本从Rally获取用户的修订历史
- Express.js:在用户发帖时获取用户的引荐来源网址
- 获取用户位置并将坐标保存在数据库中
- 获取用户按键的时间
- 从表单中获取用户输入执行计算(操作顺序)并输出回该表单
- 如何获取用户's输入并返回我定义的匹配变量的值
- 如何通过获取用户输入和使用按钮来运行JavaScript函数
- 使用jQuery获取用户坐标
- 获取用户和服务器时间之间的时间差
- 在 PHP 或 JavaScript 中获取用户的纬度和经度,以便在 PHP 中使用
- 如何通过声云 api 调用获取用户 ID
- 使用 Javascript 获取用户的 Github 存储库列表
- 如何使用 HTML 中的表单框获取用户输入
- 如何从HTML表单中获取用户输入并将其存储在现有的JavaScript数组中
- Phonegap通过WiFi和移动网络而非GPS获取用户位置
- 获取用户选择的选项的值