2
我剛開始學習node.js,之後決定使用node和restify編寫我的下一個API。只有幾個用戶訪問該API,並且它將是一個嚴格私密的用戶 - 其他人都不應該能夠訪問它。添加中間件來檢查API密鑰並通過
基本上,我需要檢查爲每個請求提供(和有效)「key」和「pass」參數。所以,我想我可以補充一點,是其他一切做檢查之前執行一些中間件..例如: -
var restify = require('restify');
var server = restify.createServer({
name: 'test'
});
server.use(function(req, res, next) {
if (req.params.key == null) {
console.log("No API key supplied");
return next(new restify.NotAuthorizedError("No API key supplied"));
}
});
server.use(restify.bodyParser());
server.listen(8888, function() {
console.log('%s listening at %s', server.name, server.url);
});
server.get('/test', function(req, res, next) {
res.send('Hello World');
return next();
});
瀏覽到localhost:8888/test
給{"code":"NotAuthorized","message":"No API key supplied"}
這就是我想要的。
然而,瀏覽到http://localhost:8888/test?key=a
仍然給出了同樣的短信..
很顯然,我不是要對這個正確的方式。有人能指引我朝着正確的方向嗎?
在此先感謝。