여러 포트의 단일 서버에서 express-session을 사용하여 여러 개의 평균 응용 프로그램을 실행 중입니다. 응용 A로 인증하면 다른 응용 B에 대해 설정된 토큰이 수정됩니다. 그런 다음 응용 프로그램 B의 인증 된 사용자 세션이 거부됩니다.단일 서버, 다른 포트에서 익스프레스 세션 응용 프로그램이있는 다중 익스프레시
토큰을 독립적으로 유지하고 확인하도록 모든 응용 프로그램을 구성하려면 어떻게해야합니까? 예를 들어 localhost에서는 응용 프로그램 A가 포트 80에서 실행되고 응용 프로그램 B는 포트 90에서 실행됩니다. 사용자가 다른 사용자의 응용 프로그램 B 세션을 중단하지 않고 응용 프로그램 A를 인증하고 사용할 수있게하려고합니다. (에서 세션 ID를 저장하는 데 사용됩니다)
// Connect to database
mongoose.connect(config.mongo.uri, config.mongo.options);
var connection = mongoose.createConnection(config.mongo.uri, config.mongo.options);
var app = express();
// enable CORS
app.use(cors());
// enable cookieParser
app.use(cookieParser());
// enable session
app.use(session({
secret: config.secrets.session,
resave: false,
saveUninitialized: true,
name: 'uniqueSessionId',
store: new MongoStore(
{
mongooseConnection: connection
}
)
}));
설명서에 따라 고유 한 이름을 포함하여 세션 개체를 수정하려고했지만 작동하지 않았습니다. 두 응용 프로그램은 여전히 서로를 방해합니다. – Bibble
이전 쿠키도 삭제 했습니까? – robertklep
예, 응용 프로그램 쿠키의 새 이름과 "토큰"이라는 쿠키가 나타납니다. 각 응용 프로그램마다 토큰 쿠키가 있어야하는지 궁금합니다. 토큰 쿠키는 각 응용 프로그램에서 계속 변경되는 것으로 보입니다. – Bibble