개발 Q&A

제목 크로스도메인 jsonp 세션 관련 질문
카테고리 JavaScript
글쓴이 최삐 작성시각 2018/12/07 10:03:50
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 9116   RSS

안녕하세요

 

타 도메인의 로그인 체크를 위해 jsonp를 사용하고 있는데요 

타 도메인에 로그인이 되어 있는 경우 callback 함수 내에 userid를 포함하여 넘겨줍니다. 

ex) jQuery1124041514945810067383_1533463733242({"userid":"choi@codeigniter.org"}) 

 

크롬을 포함한 다른 브라우저에서 정상적으로 작동하는데, 

IE에서는 userid가 빈 상태로 오고 있습니다. 

ex) jQuery1124041514945810067383_1533463733242({"userid":""}) 

 

서버쪽에서 전체 세션 출력해보니 로그인 시 저장된 userid 등의 세션이 없더라구요..! 

IE는 jsonp로 호출 시 세션이 따로 있는 것 같기도 하고... 

 

해당 이슈 관련해서 아시는 분 있으시면 답변 부탁 드리겠습니다. 감사합니다.

 다음글 php와 java를 한 서버에서 동시에 구축할 수 있나... (4)
 이전글 파일업로드 후 파일명이 보지지 않습니다. (1)

댓글

최삐 / 2018/12/07 10:04:48 / 추천 0
  • member.codeigniter.org이 로그인을 위한 도메인이면

    1) portal.codeigniter.org 에서 jsonp 호출 시 서버 측 세션 있음
    2) portal.laravel.org 에서 jsonp 호출 시 서버 측 세션 없음..

    크롬, 파이어폭스에서는 둘다 정상 작동하고
    IE에서만 저렇습니다..
샤오란 / 2018/12/11 01:35:33 / 추천 2

IE P3P 규약때문인것으로 보입니다. 

전에 카페24 관련해서 개발하다가 IE에서만 세션이 없는 상황이 발생해서 

찾아보니 IE P3P 규약때문에 그랬던 기억이 나네요.

해결 방법으로는 헤더에 값을 넣어주는 방식으로 처리했던거 같습니다.

인터넷 찾아보시면 많이 나올거에요

최삐 / 2018/12/11 17:57:46 / 추천 0

// 샤오란 님

 

오오..!

진짜 오랫동안 붙잡고 있던 문제였는데

정말정말 감사합니다!