Я новичок в js и nodejs. Итак, я попытался использовать express -jwt для аутентификации большей части моих API.
Однако я хочу исключить такие маршруты, как / login и / register from authentication
Изучив документацию express -jwt , я узнал, что существует такая библиотека под названием express -unless
Итак, я воспроизвел пример, чтобы посмотреть, смогу ли я заставить его работать. Вот код
const unless = require('express-unless');
app
.use(authenticateWithExpressJWT)
.unless({ path: ['/login'] });
AuthenticateWithExpressJWT - моя функция промежуточного программного обеспечения, которая отлично работает
const jwt = require('express-jwt');
const verifyJwt = jwt({ secret: 'secreyKey', algorithms: ['HS256'] });
module.exports.authenticateWithExpressJWT = verifyJwt;
Когда я искал примеры в Google или Stackoverflow, кажется, что другие не похоже, есть проблемы с использованием аналогичного кода. Однако когда я это делаю, он даже не компилируется. Я получаю эту ошибку
app.use(authenticateWithExpressJWT).unless({ path: ['/login'] });
^
TypeError: app.use(...).unless is not a function
at Object.<anonymous> (/home/xyz/programming/node/firstApp/index.js:27:37)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)
Может ли кто-нибудь помочь мне выяснить, что я делаю не так?
У меня есть другой вопрос: как люди могут использовать метод unless()
без require('express-unless');
?
Я получаю вышеупомянутую ошибку компиляции независимо от того, добавляю я const unless = require('express-unless');
или нет
Примечание : Я понимаю, что могу достичь то же самое без использования express-unless
. Я только хочу понять, как я могу его использовать.