【问题标题】:How to get the Access Token from a delete route in LoopBack 3如何从 LoopBack 3 中的删除路由中获取访问令牌
【发布时间】:2020-07-21 21:12:48
【问题描述】:
我正在尝试对删除路线做一些日志工作;我在获取'before delete' 钩子中的访问令牌 时遇到了一些困难,这是在LoopBack 3 中调用PersistentModel 的destroyById 方法时触发的。
有没有办法在'before delete' 挂钩中检索访问令牌?
我已经在钩子函数的context 参数中进行了搜索,但找不到它(而它在 POST 或 PUT 路由中)。
【问题讨论】:
标签:
node.js
hook
access-token
loopbackjs
【解决方案1】:
碰巧的是,'before delete' 钩子在其上下文中也有 accessToken,仅当由于关联模型的 DELETE 路由而直接调用该钩子时。
确实,如果由于 PersistentModel 方法 destroyById 或 destroyAll 而调用钩子,则没有 accessToken,它不会将上下文向下传递给 'before delete' 钩子。
要从 'before save' 或 'before delete' 挂钩中的上下文获取访问令牌:
const accessTokenId = ctx.options.accessToken.id;