2011-08-15 4 views
4

GAE, Python 및 JS의 혼합을 사용하여 성공적으로 페이스 북 API에 연결하는 응용 프로그램을 만들었습니다. 하나의 난관 : 내 응용 프로그램에서 - 내가 확인 먼저는 페이스 북의 쿠키가 존재하는 경우 :JS + Python을 사용하여 페이스 북 쿠키를 찾는 데 지연이 있습니다

cookie = facebook.get_user_from_cookie(self.request.cookies, 
             FACEBOOK_APP_ID, 
             FACEBOOK_APP_SECRET) 
if cookie: 
    {render index.html} 

else: 
    {render login.html} 

내 로그인 핸들러에서 나는 다시이 있는가 가진 사람을 피하기 위해 쿠키 (같은 codestructure) 확인 이 페이지에 액세스하는 쿠키. 이것은 설계된대로 작동합니다.

유일한 문제는 쿠키가 존재할 때이를 감지하는 데 약간의 지연이있는 것 같습니다. 그래서, 로그 간다 : 인덱스 핸들러에서 발견

  • 쿠키하지, 로그인 처리기를 위해 리디렉션
  • 로그인 핸들러는 로그인-HTML을 그립니다
  • 쿠키, 로그인 처리기에서 발견 된 인덱스 처리기로 리디렉션
  • 인덱스 처리기 인덱스 HTML에게이 - 최종 사용자에게 명확하게 볼

무의 loginscreen 무하고, 정도 번째 이후의 정확한 indexscreen 그려있다.

이 지연의 원인은 무엇입니까? 쿠키가 서버로 전송되는 경우 쿠키가 생성되는지 궁금합니다. 그렇다면이 문제를 어떻게 코드합니까?

답변

0

쿠키 fbsr_<application_id>은 사용자가 Facebook에서 인증되고 응용 프로그램으로 리디렉션 된 후에 만 ​​설정되며 자바 스크립트 API 메서드 FB.init()cookie: true과 함께 실행됩니다.

FB.init({ 
    appId : '<application_id>', 
    status : true, 
    cookie : true, 
    //... 

즉, 사용자가 응용 프로그램으로 리디렉션 된 직후 쿠키가 설정되지 않습니다.

관련 문제