2012-10-11 38 views
0

我想請求你的幫助,因爲我正在努力解決我無法解決的特定問題。Django社會化註冊與多個域名擴展

我使用的django應用程序「socialregistration」適用於在不同的社交平臺上進行連接。

問題是,當您在這些平臺上註冊應用程序時,您只能使用單一回調和redirect_uri。

以Facebook爲例。我需要做什麼使用相同的FB APP_ID管理我的所有網站:我不想爲5個不同的域名擴展創建5個應用。

當用戶登錄在「.COM」他已經被重定向到「.COM」,使用「.fr」,必須以使用「.fr」等等......

感謝您的重定向提前!

+0

接受以前問題的一些答案可能會讓人們更願意幫助你。 – Caspar

+0

對不起,我是新手,這是怎麼做的?我認爲每個人都會給予贊成或拒絕 – philippe87

+0

無後顧之憂 - 只需點擊每個問題最有用的答案旁邊的勾號大綱即可(這給出了寫出答案的人的20個聲望點)。編輯 - 啊,我看到你已經完成了:) – Caspar

回答

1

不要在社交註冊應用程序或社交網絡中處理此問題,而應該直接在您的django應用程序中處理它。他們的方式,你可以按照:

  • 保存域擴展名,甚至完整的主機用戶訪問您的網站。這可以通過Django sessions完成。
  • 當從社交網絡重定向到您的網站時,只需檢查保存的域/主機值。如果它與當前URL的值不匹配,則通過Django的HttpResponseRedirect重定向到最終的域/主機。
+0

最簡單的想法大部分時間都是最好的!謝謝,我會試試這個! – philippe87

+0

我假設我將不得不使用中間件。 但是,你是否總是覆蓋會話值?如果用戶從一個域轉到另一個域會怎麼樣?如果它總是被覆蓋,那麼中間件將取消之前的域名,因爲facebook將用戶重定向到主域名no? – philippe87

+0

如果該值在會話中不存在,您可以只寫這個值。在其他情況下,你不寫或改變它。在瀏覽器上關閉會話可能會有意義,但這可能會帶來其他問題(如果您在其他地方使用會話)。 –