원본 간 쿠키를 공유하는 방법은 무엇입니까? 더 구체적으로,Set-Cookie
헤더와 헤더를 조합Access-Control-Allow-Origin
무엇입니까?
내 상황에 대한 설명은 다음과 같습니다.
실행중인 API에 대한 쿠키를 설정하려고합니다. localhost:4000
에서 호스팅되는 웹 앱에서localhost:3000
.
브라우저에서 올바른 응답 헤더를받는 것 같지만 유감스럽게도 효과가 없습니다. 다음은 응답 헤더입니다.
HTTP / 1.1 200 정상 Access-Control-Allow-Origin : http : // localhost : 3000 다름 : Origin, Accept-Encoding Set-Cookie : token = 0d522ba17e130d6d19eb9c25b7ac58387b798639f81ffe75bd449afbc3cc715d6b038e426adeac3316f0511dc7fae3f7; Max-Age = 86400; 도메인 = localhost : 4000; 경로 = /; Expires = Tue, 19 Sep 2017 21:11:36 GMT; HttpOnly 콘텐츠 유형 : application / json; charset = utf-8 콘텐츠 길이 : 180 ETag : W / "b4-VNrmF4xNeHGeLrGehNZTQNwAaUQ" 날짜 : 2017 년 9 월 18 일 월요일 21:11:36 GMT 연결 : 연결 유지
또한 Response Cookies
Chrome 개발자 도구의 네트워크 탭을 사용하여 트래픽을 검사 할 때 아래에있는 쿠키를 볼 수 있습니다. 그러나 아래의 응용 프로그램 탭에서 쿠키가 설정되는 것을 볼 수 없습니다 Storage/Cookies
. CORS 오류가 표시되지 않으므로 다른 것이 누락되었다고 가정합니다.
어떤 제안?
업데이트 I :
React-Redux 앱 의 요청 모듈을 사용 /signin
하여 서버 의 엔드 포인트에 요청을 발행하고 있습니다. 서버의 경우 Express를 사용합니다.
Express 서버 :
res.cookie ( 'token', 'xxx-xxx-xxx', {maxAge : 86400000, httpOnly : true, 도메인 : 'localhost : 3000'})
브라우저에서 요청 :
request.post ({uri : '/ signin', json : {userName : 'userOne', 비밀번호 : '123456'}}, (err, response, body) => { // 작업 })
업데이트 II :
이제 요청 및 응답 헤더를 미친 듯이 설정하여 요청과 응답 모두에 있는지 확인합니다. 아래는 스크린 샷입니다. 헤더를 주목 Access-Control-Allow-Credentials
, Access-Control-Allow-Headers
, Access-Control-Allow-Methods
와 Access-Control-Allow-Origin
. Axios의 github 에서 찾은 문제를 살펴보면 필요한 모든 헤더가 이제 설정되었다는 인상을 받았습니다. 하지만 아직 운이 없습니다 ...