Проблема, с которой я сталкиваюсь, заключается в том, что файлы cookie сеанса, созданные на сервере, по-видимому, недоступны в браузере.Я использую файлы cookie сеанса Firebase, которые можно найти здесь: (https://firebase.google.com/docs/auth/admin/manage-cookies)
Ниже приведен код, который у меня есть
Сервер
const express = require('express');
const cors = require('cors');
const cookieParser = require('cookie-parser');
const app = express();
app.use(cookieParser());
app.use(cors());
app.use(express.urlencoded({extended: true}));
app.use(express.json());
userRouter.post('/sessionLogin', (req, res) => {
console.log("Got session login request");
// Get the ID token passed and the CSRF token.
const idToken = req.body.idToken.toString();
// Set session expiration to 5 days.
const expiresIn = 60 * 60 * 24 * 5 * 1000;
fb.auth().createSessionCookie(idToken, {expiresIn})
.then((sessionCookie) => {
const options = {maxAge: expiresIn, httpOnly: true, secure: true};
res.setHeader('Cache-Control', 'private');
res.cookie('__session', sessionCookie, options);
return res.send(JSON.stringify({status: 'success'}));
}).catch((error) => {
res.status(401).send('UNAUTHORIZED REQUEST!');
});
});
Frontend
fb.auth.signInWithEmailAndPassword(email, password).then(user => {
return user.user.getIdToken().then(idToken => {
console.log(idToken);
//document.cookie = '__session=' + idToken + ';max-age=3600';
return ref.postIdTokenToSessionLogin(idToken);
});
})
Когда я использую почтальона, я могучтобы увидеть сессию, созданную как ожидалось картинка сеанса почтальона
Мой сервер и интерфейс размещены в разных доменах.Я не могу обернуть голову вокруг этого, любые идеи будут высоко оценены.
Спасибо,