1

) Facebook C# SDK를 사용하여 Facebook 애플리케이션을 개발했습니다. 흥미롭게도 사용자가 Internet Explorer에서 링크를 클릭 할 때마다 오른쪽의 친구 목록과 채팅 목록을 포함하여 전체 페이지가 다시로드됩니다. Chrome에서 동일하게 작동하는 경우 캔버스 페이지 만 다시로드되지만 오른쪽의 목록은 그대로 유지됩니다.IE가 포함 된 페이스 북 앱의 전체 페이지 새로 고침 (

필자는 Fiddler Web Debugger를 사용하여이 문제를 추적했으며 다음을 발견했습니다. 내 응용 프로그램이 my_app라고 가정하고 Windows Azure (cloudapp.net)에 배포합니다. 따라서, IE에서 (예를 들어 동일한 페이지에) 링크에 클릭하면 다음과 같은 호출 결과 :

  1. my_app.cloudapp.net/Default.aspx
  2. www.facebook.com/dialog/을 하여 OAuth/...
  3. www.facebook.com/dialog/permissions/...
  4. cloudapp/facebookredirect.axd? 상태 = ...
  5. apps.facebook.com/my_app/...
  6. my_app.cloudapp.net/Default.aspx
,

은 크롬에서 역 추적은 완전히 다른 :

  1. my_app.cloudapp.net/Default.aspx
  2. www.facebook.com/extern/login_status.php ...

어떤 이유로 Chrome에서 승인 절차가 다릅니다. CanvasAuthorizer.Authorize()를 사용하여 Facebook C# SDK의 샘플 파일에서 수행 한대로 인증을 구현합니다. 이 문제가 발생하는 이유는 무엇이며 IE에서 Chrome 동작을 얻는 방법에 대한 권장 사항이 있습니까?

많은 덕분에, Yordan

+0

동일한 문제가 있습니다. localhost에서만 IE와 Chrome에서 캔버스 URL 만 다시로드됩니다 (자바 스크립트 SDK를 사용하지 않으면 크롬 전체 페이지가 다시로드됩니다). 그러나 클라우드에 배포하면 IE에서는 전체 페이지가 다시로드되지만 Chrome에서는 전체 페이지가 다시로드됩니다. –

답변

1

이 나는 ​​쿠키 문제 내기 것입니다. IE는 iFrames의 쿠키로 이상하게 행동 할 수 있습니다 (이는 모든 요청에 ​​대해 재 인증되는 이유 일 수 있습니다).

그 SDK에 대해 잘 모르겠지만 마스터 페이지 뒤에 코드에 이와 같은 것을 추가해보십시오. 이는 P3P의 개인 정보 보호 정책입니다.

HttpContext.Current.Response.AddHeader("p3p", "CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");