每个路由配置的 NodeJS Passport,作为中间件添加并且没有错误,但它没有 work/fire
NodeJS Passport configured per route, added as middleware and getting no errors but it does not work/fire
我有一个 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 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);