2014-04-20 2 views
3

나는 node.js + 패스포트를 사용하고 하위 도메인에서 사용할 수 있도록 부모 도메인에서 쿠키를 설정하는 방법을 알아 내려고합니다. 사용자가 다음 Sub.Domain.com ...로 이동 Domain.com에node.js 패스포트 세션 쿠키 도메인

사용자 로그는 그는 여전히 로그인해야합니다.

방법을 수행 한 세트 부모 도메인에 쿠키? 여기 제가 현재 가지고있는 것이 있습니다.

app.use(express.session({ 
    secret: 'XXXXX', 
    store: new mongoStore({ url: app.get('mongodb-uri') }) 
})); 
app.use(passport.initialize()); 
app.use(passport.session()); 

답변

3

세션 쿠키의 도메인을 설정해야합니다. 이 같은 작업을 수행 할 수 있어야한다 : 도메인이 .domain.com에 모든 하위 도메인을 사용할 수 있도록해야합니다 (시작 부분에있는 점)을 설정 한 것을

app.use(express.session({ 
    secret: <session_secret> , 
    store: <session store> , 
    cookie: { 
    path: '/', 
    domain: '.domain.com', 
    maxAge: 1000 * 60 * 24 // 24 hours 
    } 
})) 

알 수 있습니다.

0

참고 : 익스프레스 4 새로운 쿠키 세션 모듈을 사용하는 경우이 나를 비트

{ 
    secret: <session_secret> , 
    store: <session store> , 
    domain: '.domain.com', 
} 

같은 코드는 보이지만 API가 변경되었습니다.

+0

Express 4에서는이 기능이 작동하지 않습니다. 세션 생성 객체에 쿠키 {domain : '. domain.com'} 구문을 사용해야했습니다. 이는 문서와 일치합니다. – Paul