Вход не продолжается и создано несколько сеансов - PullRequest
0 голосов
/ 02 ноября 2018

Это мой сессионный конфиг в бэкэнде:

app.use(session({
    secret: 'somesecret',
    resave: false,
    saveUninitialized: true,
    cookie: {maxAge: 3000000}
}))
app.use(passport.initialize());
app.use(passport.session());

Это API входа в бэкэнд:

router.post('/login', (req, res) => {
    passport.authenticate('ldapauth', (err, user, info) => {
        ...
    )
})

В интерфейсе:

http.post('<hostname>/login', {
    email: 'test', password: 'test'
}, {withCredentials: true})

Есть две проблемы:

  1. Когда я добавляю опции {withCredentials: true} и проверяю сетевой журнал, я вижу, что он отправляет метод OPTIONS с кодом состояния 200. В ответе я получаю значение set-cookie из express. После этого не более. Предполагается, что он отправляет метод POST с учетными данными, но, похоже, на этом останавливается.

  2. Когда я удаляю опции {withCredentials: true} и проверяю сетевой журнал, он отправляет (1) метод ОПЦИИ. В ответе я вижу значение set-cookie. (2) метод POST. В ответе я вижу новое значение set-cookie. Я не вижу куки в заголовках запроса. После входа в систему я вызываю несколько apis, поэтому каждый запрос не имеет cookie в заголовке и получает новое значение set-cookie для каждого.

UPDATE Я уже решил их. Во-первых, я должен установить для «Access-Control-Allow-Credentials» значение true на сервере, а также установить «Access-Control-Allow-Origin» для моего клиента ip. Я пропустил ошибку консоли, она все время показывала ошибку. Это также решило несколько новых сессий, так как теперь я могу отправить идентификатор сессии на сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...