Экспресс-сессия node.js не работает в маршрутизаторе - PullRequest
0 голосов
/ 28 мая 2018

У меня есть некоторая проблема

Я использую промежуточное программное обеспечение экспресс-сессии в моем приложении

это работает

, но

Это не работаетна любом конкретном маршрутизаторе.

мой код выглядит следующим образом:

// app.js

app.use(session({
    secret: 'D$YTRH#%#$@^$#YR',
    resave: false,
    saveUninitialized: true,
}))

//assign session in outside

app.get(/*, (req, res, next)=>{
    req.session.outSide = "outSideBlah"
    next()
}

//my session Check middleware
app.get('/*', (req, res, next)=>{
    console.log(req.session._inSide)
    console.log(req.session._outSide)
    next()
}

const auth = require('./routes/auth.js')(express)
app.use('/auth', auth)

// auth.js (мой маршрутизатор)

//assign session in router ( inside)
module.exports = (express) => {
    const auth = express.Router()
    auth.post('/login', (req, res)=>{
        req.session._inside = 'insideBlah'  //Assign a session here
    ............some auth code ......
    }
    return auth
}

после входа в систему

в моем сеансе Проверьте промежуточное ПО

console.log(req.session.inSide) // undefined
console.log(req.session.outSide) // "outSideBlah"

Даже если я назначил req.session.inSide в auth.js

req.session.inside isundefined

В чем проблема?

Почему я не могу получить доступ к сеансу, назначенному моим маршрутизатором (auth.js)?

кто-то мне помог .. спасибо ...

1 Ответ

0 голосов
/ 28 мая 2018

Также я думаю, что вы должны использовать * вместо /*.

...