为什么从未调用 FeathersJS 身份验证挂钩?

Why is the FeathersJS auth hooks never invoked?

我有以下代码为我的 FeathersJS 服务设置了 4 个挂钩:

 service.before({
      all: [
    auth.verifyToken(),
    auth.populateUser(),
    auth.restrictToAuthenticated(),
    myCustomHook()
]});

最后一个钩子被调用,所以我知道我的代码总体上是正确的。

不过这三个auth-hook好像并没有被调用,这让我很疑惑。任何关于为什么会发生这种情况或我如何调试它的建议将不胜感激。

* 更多详情:*

我在单元测试中,我所做的就是:

app.service('/blockAddresses').find({})

我预计 auth.restrictToAuthenticated 挂钩会失败。我没有看到这样的失败,因此我得出结论,从未调用过 auth-hooks。当然,这个结论可能是错误的。

如果请求不是通过 REST 或 Socket.io API 发出的,将跳过 verifyToken 挂钩。它检查是否设置了 params.provider。在单元测试中,我通常只是在 params 中通过测试 { user },但是如果你想验证一个令牌,你可以像这样设置提供者和令牌:

app.service('/blockAddresses').find({
  provider: 'test',
  token: 'myinvalidtoken'
})