2013-04-25 1 views
0

내 사이트에서 Facebook 로그인을 사용 중입니다. 내가 로컬에서 테스트 할 때 local.mysite.com을 사용해야하므로 페이스 북은 요청이 내 사이트에서 발생한다고 생각합니다. 이것은 이미지를 BLOBSTORE에 업로드 할 때를 제외하고 훌륭하게 작동합니다. 이미지를 업로드 할 때 앱 엔진은 항상 localhost:888으로 전환됩니다. 이것은 브라우저가 크로스 사이트 스크립팅이 일어난다 고 생각하게하고 업로드를 방해합니다.로컬 blobstore 응답의 강제 URL

XMLHttpRequest cannot load http://localhost:8888/_ah/upload/agpidWJwcm9qZWN0chsLEhVfX0Jsb2JVcGxvYWRTZXNzaW9uX18YBQw. Origin http://local.mysite.com:8888 is not allowed by Access-Control-Allow-Origin. 

답변

0

난 당신이 실제로 URL을 변경할 수 있습니다 확실하지 않다 : 내가 대신 localhost:888

이의 local.mysite.com를 사용하는 응용 프로그램 엔진을 강제하는 방법은 무엇입니까 오류입니다.

하지만 할 수있는 일은 로컬 테스트를 위해 localhost:8888을 사용하고 localhost를 가리키는 다른 Facebook 응용 프로그램을 만드는 것입니다. 이후에는 앱에서이 두 가지 (또는 앞으로 더 많은) Facebook 응용 프로그램을 사용할 수 있도록하기 위해 할 수있는 두 가지 방법이 있습니다.

  • 당신은 키가 모든 키 였을 구성
  • 저장소를 사용하도록 요청 된 URL 결과로는 할 수 Datatstore 단지 관리자는 저장해야 할 첫 번째 방법으로 그들에게

를 변경할 수 있습니다 어떻게 든 코드의 모든 키 또는 데이터 저장소에서 더 나빠진 다음 사용할 URL을 기반으로 결정합니다. 이 방법은 좋지 않으며 잘 확장되지 않습니다. 두 번째 접근법은 코드에 키를 저장할 필요가 없으므로 더 바람직합니다. 더 많은 보안 Facebook 페이스 북의 애플리케이션을 미리 알 필요가 없으므로 훨씬 안전합니다.

파이썬에서이를 해결하는 방법에 대해서는 Nick Johnson's answer을 읽을 수 있지만 아이디어는 자바이므로 열심히해서는 안됩니다.

+0

localhost를 페이스 북 도메인으로 사용하는 데 문제가있었습니다. 페이스 북은 페이스 북 리소스를로드하려고하고 있으며 많은 행동을 차단한다고 생각합니다. – Lumpy

+0

@ Lumpy Weird .. 로컬로 내 로그인을 테스트 할 수 있도록 Facebook에 http : // localhost : 8080을 추가하여 어떤 문제도 발생하지 않았습니다. 어쩌면 그들은 최근에 뭔가를 바꿨을 것입니다. 어느 경우 든 코드 대신 데이터 저장소에 구성 속성을 저장하는 것이 좋습니다. – Lipis