Как настроить файлы cookie сеанса для многопользовательских приложений?

#express #authentication #session-cookies #express-session

Вопрос:

У меня возникли некоторые проблемы с сессией в моем приложении. Чтобы выразить это в контексте, это мультитенантное приложение, состоящее из двух частей (на самом деле это два приложения), одна из которых-ReactJS, которая обслуживает наше интерфейсное приложение. Другой — это сборка REST API с помощью express. В настоящее время я использую express-session и PassportJS с хранилищем Redis для проверки подлинности. Моя конфигурация сеанса такова

 app.set('trust proxy', 1);
app.use(session({
    secret: SESSION_SECRET,
    resave: false,
    saveUninitialized: true,
    store: new RedisStore({ client: redisClient }),
    name: 'sess',
    cookie: { secure: true, httpOnly: true, sameSite: true }
}));
 

Проблема, с которой я сталкиваюсь , заключается в следующем:
в том же браузере пользователь входит client-A.our-domain.com , входит в систему, использует приложение и т. Д.
Затем он входит client-B.our-domain.com , вот где возникает проблема, мой сервер ( api.our-domain.com ) получает файл cookie аутентификации от другого приложения ( client-A ), и поскольку этот пользователь, находящийся внутри файлов cookie, не существует, мой сервер возвращает ошибку, и пользователь не может использовать приложение. Я не уверен, как я могу это увидеть, или возможно ли это сделать с помощью этого метода аутентификации, который я использую.
Obs: эта проверка подлинности должна обеспечивать доступ браузеров из client-A.our-domain.com , client-B.our-domain.com , и client-own-domain.com .