2012-09-19 2 views
1

도메인 간 쿠키를 얻는 방법을 묻는 것은 알고 있지만 전통적으로 가능하지 않지만 두 개의 서버가있는 site1.domain.comsite2.domain.com이 있고 쿠키 기반 SSO가있는 상황이 있습니다. 회사가 완전히 다른 도메인으로 site2.domain.com을 이전하기로 결정할 때까지 잘 작동했습니다. 누군가가 site1.domain.com에 로그인 할 때 이제 문제는, 우리는 내가 두 번째 서버의 새로운 도메인입니다 domain2.com에서 쿠키가,이 있는지 검사 할 .domain.com.PHP가 다른 서버에서 쿠키를 가져옴

을 위해 쿠키를 설정합니다.

나는 getCookie.php라는 페이지를 호출하여 쿠키를 가져오고 응답을 되돌려 보내지만 컬링은 완전히 새로운 세션을 시작하고 site2.domain2를 탐색하는 사용자 인 척하지 않습니다. com

사이트 2에서 쿠키 값을 읽을 수있는 방법이 있습니까? 어떤 도움을 주셔서 감사합니다.

+0

iframe을 포함 할 수 있습니다. 엘프? – Horen

+0

두 서버를 모두 제어 할 수 있다면 API 호출을 사용하여 함께 배치 할 수 있습니다. – andrewsi

답변

0

JSONP?

site1.domain.com에서 "JS- 파일"을로드하고 요청 된 쿠키 정보를 json으로 반환하십시오. 편집

site1.domain.com/getCookie.php

<?php 
header('Content-Type: application/x-javascript'); 
echo 'callback('.json_encode($_COOKIE).');'; 
?> 

과에

당신은 Cookie Access over JSONP에서 더 많은 정보를 찾을 수 있습니다 site2.domain2.com HTML

<html> 
<head> 
    <script >function callback(data) { ... }</script> 
    <script src="site1.domain.com/getCookie.php" type="text/javascript"></script> 
... 

+0

이것은 나에게 새로운 이야기입니다. 거친 예를 들어 주시겠습니까? 나는 그것을 정말로 고맙게 생각할 것이다. –

+0

콜백 자바 스크립트 함수는이 도메인에서 정보를 처리하고 sso 쿠키를 저장해야합니다. – Xandl

+0

다음은 server1의 getCookie.php에서 시도한 것입니다. 그리고 는 <스크립트 SRC = "http://site1.domain.com/getCookie.php"유형 = "텍스트/자바 스크립트">이 보이지 않는다 는 –

관련 문제