Currently, I'm using redis for mutiple website ( A and B ) . A website is php website and B website is node.js website (mine). I'm trying to get redis information from A website to B website. However, when a user login to A website and switch to B website then B website is able to get A website user's information, but as soon as B website gets redis information, redis TTl become 2, so in 2seconds the user information is expired. However, when a user trying to do same thing like login B website and switch A website. then the session is not expired.
I tried to change ttl time and change another setting, what i did was not working. I'd like to know what is able to trigger this issue.
this is setting for redis B website (node.js)
import express from "express";
import path from "path";
import mongoose from "mongoose";
import cors from "cors";
import session from "express-session";
import redisConnect from "connect-redis";
import { createClient } from "redis";
import cookieParser from "cookie-parser";
import user_routes from "./routes/user_routes.js";
import user_charts_routes from "./routes/user_charts_routes.js";
import code_visual_routes from "./routes/code_visual_routes.js";
import db_routes from "./routes/db_routes.js";
import assets_routes from "./routes/assets_routes.js";
import { redis_env, sso_env } from "./Data/env_export.js";
const {
redis_url,
redis_password,
redis_domain,
redis_prefix,
redis_session_name,
redis_session_secret,
} = redis_env;
const { sso_client_redirect } = sso_env;
let RedisStore = redisConnect(session);
let redisClient = createClient({
legacyMode: true,
url: redis_url,
password: redis_password,
});
redisClient.connect().catch(console.error);
const session_info = {
store: new RedisStore({
client: redisClient,
prefix: redis_prefix,
ttl: 3600 * 3,
}),
name: redis_session_name,
secret: redis_session_secret,
resave: true,
saveUninitialized: false,
cookie: {
path: "/",
httpOnly: true,
secure: false,
domain: redis_domain,
maxAge: 12 * 60 * 60 * 1000,
sameSite: "lax",
},
};
const corsOption = {
credentials: true,
origin: sso_client_redirect,
};
const PORT = process.env.PORT || 5000;
var app = express();
app.use(cookieParser());
app.use(cors(corsOption));
app.use(express.urlencoded({ limit: "50mb", extended: true }));
app.use(express.json({ limit: "50mb" }));
app.use(session(session_info));