2014-02-07 5 views
0

다음 기능은 버튼 onclick 처리기에 바인딩됩니다. 작동 방식은 페이스 북을 통해 사용자가 인증을 받으면 페이스 북 쿠키를 사용하여 인증 한 페이지 (동일한 사이트)로 리디렉션하는 것입니다./fb/login 엔드 포인트는 일단 인증이 성공하면 방금 로그인 한 페이지로 전달합니다.FB.login Internet Explorer에서 리디렉션

function ButtonFBLogin(){ 
    FB.login(function(response){ 
     if(response.authResponse){ 
      window.location.href = '/fb/login'; 
     } 
    } 
}); 

이 리디렉션은 Chrome과 Firefox에서 작동합니다. IE에서는/fb/login에 GET 요청을 보내고 사용자가 온 페이지로 리디렉션하지만 사용자는 인증되지 않습니다. 내가 해봤

것 :

  • 랩이의 setTimeout의 리디렉션 이벤트 큐에 넣어,하지만 난 여전히 같은 문제가 있습니다. 대신에 추가하여 파열 window.location.href
  • 캐시? URL을 내가 잘못 뭐하는 거지

에 TMP =의

  • document.location.href? 어떤 도움을 주셔서 미리 감사드립니다!

  • 답변

    0

    이것은 피라미드의 문제입니다. 나는 그들과 함께 문제 보고서를 제출했습니다 : Issue Thread

    기본적으로 피라미드는 인증 티켓에 대한 max_age를 지정할 수 있습니다. 이 매개 변수는 쿠키의 max-age 매개 변수를 설정하지만 만료 매개 변수는 설정하지 않습니다. Firefox와 Chrome 모두이 최대 연령 필드를 올바르게 처리합니다. Internet Explorer는 그렇지 않습니다.

    만료 필드 값으로 max-age 초 정수를 사용합니다. Internet Explorer는 만료 필드가 RFC 1123 형식으로 설정되어 있어야합니다 (Wdy, DD Mon YYYY HH : MM : SS GMT). expires 필드의 정수는 이해할 수 없습니다. 그것의 주위에 과자를 지키기 대신에 그것을 밖으로 던지십시오. See Wikipedia for a discussion of max-age and expires.

    이렇게하면 다른 사람이 가장 가까운 책상에서 머리를 두드리는 것을 막을 수 있습니다.

    관련 문제