NodeJS Passport按路由配置,作为中间件添加并且没有错误但它不起作用/触发
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NodeJS Passport按路由配置,作为中间件添加并且没有错误但它不起作用/触发相关的知识,希望对你有一定的参考价值。
我有一个NodeJS Api,我使用Passport Azure AD Bearer Token进行身份验证 - 当我全局配置时,一切都很好,但为了能够保持干净,我需要为每个路由文件配置它。
我已经在首页上采用了逻辑,并将其作为中间件添加到路径文件中,但它似乎没有触发:
router.use(function (req, res, next) {
passport.initialize()
passport.use(bearerStrategy);
passport.authenticate('oauth-bearer', { session: false })
next();
})
配置对象也出现在此代码之上。
答案
我最终重命名我的护照配置对象和初始化对象,每个应用程序添加了一个_appname,并在index.js中初始化它们,然后简单地在父路由上提到哪个护照实例保护哪个。
代码如下:
// MIDDLEWARE
app.use(passport_myAppName.initialize());
passport_myAppName.use(bearerStrategy_myAppName)
app.use(passport_mySecondApp.initialize());
passport_mySecondApp.use(bearerStrategy_mySecondApp)
// ROUTES
app.use("/myAppName", passport_idtTV.authenticate('oauth-bearer', { session: false }), myAppName);
app.use("/mySecondApp", passport_idtTV.authenticate('oauth-bearer', { session: false }), mySecondApp);
以上是关于NodeJS Passport按路由配置,作为中间件添加并且没有错误但它不起作用/触发的主要内容,如果未能解决你的问题,请参考以下文章
NodeJs:错误401(未经授权)我正在使用passport-jwt
Nodejs和PassportJs:如果身份验证失败,则不会调用passport.authenticate后重定向中间件
Node/Express 的 Passport 身份验证中间件 - 如何保护所有路由
NodeJs + ExpressJs 应用程序路由奇怪的行为
测试受保护的 api 调用、mocha、supertest、node js、passport
Passport.authenticate 和 logout 方法和 flash 不起作用,直到我们在重定向后路由到新页面