2016-12-01 24 views
0

我有下面这段代码设置了4个钩我FeathersJS服务:为什么从不调用FeathersJS auth钩子?

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

最后一个钩子被调用,所以我知道我的代码工作正确的整体。

但是,这三个auth-hooks似乎并没有被调用,这是让我困惑的东西。任何建议,为什么会发生这种情况或我可以调试它将不胜感激。

*详细信息:*

我是单元测试中,所有我做的是这样的:

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

我希望失败从auth.restrictToAuthenticated钩来。我看不到这样的失败,因此我认为auth-hooks从不被调用。当然,这个结论可能是错误的。

回答

3

如果请求没有通过REST或Socket.io API发送,则verifyToken钩子将被跳过。它检查params.provider被设置。在一个单元测试,我通常只是通过测试{ user }params但如果你想验证令牌可以设置提供商和令牌是这样的:

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

大THX,我没有现在这个。将重新审视它,现在将其标记为正确的答案。 –

相关问题