我正在建立一個網絡服務器與節點,快遞,jwt和護照。但是,當我嘗試有一個get梅索德路線:快遞護照中間件不擔心與獲取請求params
app.get('/api/:key/lights', passport.authenticate("jwt", {session: false}), function(req, res) {
if (yubiAtHome) {
var sKey = req.params.key;
dbController.checkApiKey(sKey, function(err, bData) {
if (bData.status) {
hueController.getLights(function(err, jData) {
if (err) {
generateResponse(res, 'get Lights', null, err, 'lLights', 500);
} else {
generateResponse(res, 'get Lights', jData, null, 'lLights', 200);
}
});
} else {
generateResponse(res, 'api key not valid', bData, 'apikey invalid', 'lLights', 500);
}
});
} else {
generateResponse(res, 'yub not pressent', null, 'yub not pressent', 'lLights', 500);
}
});
但是這條路並不出於某種原因,如果我刪除passport.authenticate("jwt", {session: false})
或刪除PARAMS(以下簡稱「:關鍵」)它的工作原理,但否則它不會返回401:未授權。怎麼會這樣 ?
編輯
,如果它不與護照中間件工作,也許你有一個權威性的問題。如果它不適用於特定的網址模式,請確保您嘗試使用此模式,並確保在此控制器之前沒有任何其他可以匹配此模式的路線。 –
我已經檢查過了,我只有一條在路線上有更多參數的路線。我的默認路由'app.get('/',passport.authenticate(「jwt」,{ session:false }),function(req,res)res.sendFile(__ dirname +'/ public/index。 HTML'); });'正在工作.. – Lasse
你能告訴我們,你如何試圖訪問這條路線? (例如郵差或測試用例或通過瀏覽器......任何東西) –