2011-09-13 36 views
2

我正在構建一個facebook canvas應用程序,我使用facebook提供的簽名請求參數來檢查用戶是否已經對應用程序進行了身份驗證。 (通過檢查user_id字段的存在)。如果user_id未設置,那麼我將用戶重定向到uthorization頁面(使用javascript中的top.location)。iframe中的facebook canvas應用程序重定向和簽名請求

問題是,在我的應用程序中,我需要做內部重定向,然後我不能得到簽名的請求了。

可能的解決方案: 1)。改變我檢查用戶是否安裝了應用程序的方式。獲取當前用戶(不確定是否需要簽名請求)。然後使用圖形API來檢查權限)。 2)。總是使用客戶端重定向。 (然後我可以通過獲取已簽名的請求,並且由於頂部的url更改,它也爲用戶提供了更好的導航。)與iframe重定向相比,不確定性能。

什麼是最佳選擇,在您的意見。

PS:我使用PHP SDK/symfony框架和javascript sdk。

回答

0

處理此問題的最常見方法是設置一個cookie來傳送signed_request或您需要的任何數據子集,以便它可在所有頁面上使用。您可以直接或通過使用PHP會話來存儲數據。

但是我個人認爲cookie在iframe應用程序中是一個壞主意。對於可能做你需要的替代方法,看看http://www.braintilt.com/fbcookies.php

+0

謝謝。我已經使用php會話來存儲簽名的請求。 – brpaz