2016-12-01 60 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,我沒有現在這個。將重新審視它,現在將其標記爲正確的答案。 –

相關問題