NodeJS Passport настроен для каждого маршрута, добавлен в качестве промежуточного программного обеспечения и не получает ошибок, но он не работает / работает - PullRequest
0 голосов
/ 24 октября 2018

У меня есть NodeJS Api, и я аутентифицируюсь с Passare Azure AD Bearer Token - все хорошо, когда я настраиваю это глобально, но для того, чтобы поддерживать его в чистоте, мне нужно настроить его для файла маршрута.

Я взял логику на первой странице и просто добавил ее в файл маршрута в качестве промежуточного программного обеспечения, но, похоже, он не срабатывает:

router.use(function (req, res, next) {
passport.initialize()
passport.use(bearerStrategy);
passport.authenticate('oauth-bearer', { session: false })
next();
})

Объекты конфигурации также присутствуют над этим кодом.

1 Ответ

0 голосов
/ 25 октября 2018

В итоге я переименовал свои объекты конфигурации паспорта и объекты инициализации с добавленным _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);
...