Что-то новое, пожалуйста, потерпите меня. Попытка использовать паспорт для аутентификации только для указания c маршрутов на веб-сайте. Маршруты находятся в отдельном файле с именем blog_a.js
. В основном файле server.js
созданы следующие функции:
function checkAuthenticated(req, res, next) {
if (req.isAuthenticated()){
return next()
}
res.redirect('/login')
}
function checkNotAuthenticated(req, res, next) {
if (req.isAuthenticated()){
return res.redirect('/')
}
next()
}
Однако я пытаюсь передать вышеуказанные функции в модуль blog_a.js
, чтобы использовать их в качестве промежуточного программного обеспечения для защиты маршруты в этом модуле.
Я попытался использовать module.exports = {checkAuthenticated, checkNotAuthenticated}
внизу основного файла 'server. js', а затем использовать строку let server = require('../server.js')
для импорта этих функций в модуль. который содержит маршруты, которые я хочу защитить.
Однако указанная выше переменная server
возвращается как неопределенная, и я попытался несколько методов перестановок / деструктуризации, чтобы попытаться импортировать ее. Все безрезультатно, я продолжаю получать сбои маршрутов из-за "неопределенного" объекта - Error: Route.get() requires a callback function but got a [object Undefined]
.
Как настроить аутентификацию в файле server.js
, но затем передать его функции аутентификации использоваться в качестве промежуточного программного обеспечения в отдельном файле маршрута?
Я рассмотрел это решение , но он не дает четкого объяснения, как получить функции промежуточного программного обеспечения из одного модуля - server.js
- в другой модуль - blog_a.js
.