2011-11-30 83 views
2

我正在使用Oauth重定向授權方法爲頁面選項卡iframe應用程序提供授權。當應用程序重定向到頁面選項卡時丟失Oauth授權

流程是這樣的:

  • 用戶加載頁面標籤(未授權)
  • 用戶點擊授權鏈接
  • 授權對話框接管父窗口
  • 接受授權重定向到我的應用程序註冊使用授權郵件的用戶帳戶。
  • 我的應用程序重定向回頁標籤
  • 加載頁面選項卡導致授權丟失,並且用戶再次看到授權鏈接。沖洗,重複,沒有成功。

令人困惑的是,如果不是重定向到Facebook頁面選項卡,我重定向到應用程序中的任何路徑(即根目錄,用戶頁面等),該應用程序將完全工作。只有通過設置重定向到Facebook頁面標籤URL,用戶才能「引導」。

更奇怪的是,如果我將重定向限制在我的應用程序中,但只需加載Facebook頁面選項卡,授權就會被殺死。意思是說,Facebook後的頁面加載,刷新應用程序關閉Facebook將提示用戶再次授權,他們有效地「註銷」我的系統。

我正在爲用戶帳戶使用Rails 3.0.1和Devise 1.4.2。用戶授權傳遞給Devise註冊(我需要跟蹤我的應用程序中的用戶 - 基於投票的「比賽」應用程序)。 Devise使用這裏詳細描述的「服務器端流程」:http://developers.facebook.com/docs/authentication/

我失去了什麼會造成這種情況。 Facebook殺死auth cookie?這是否發生?

+0

嗨你有沒有解決這個問題,我有完全相同的問題...任何幫助將不勝感激 –

回答

0

當您訪問Facebook的標籤頁第一次,signed_request是必要的: @signed_request = oauth.parse_signed_request(params[:signed_request])

所以,你可以在其他頁面重定向到它來檢查它是否是第一次發送的參數。

相關問題