1

我有一個網站,基本上要求用戶登錄查看任何內容。如果他們沒有登錄,那麼他們被重定向到首頁和登錄表單。Facebook認證:服務器端與客戶端。 Python/Django

我目前在返回頁面之前使用Django的標準身份驗證和測試用於身份驗證服務器端。

我現在想添加Facebook登錄和身份驗證。這是否意味着我需要在Facebook上進行服務器端調用,並且每次用戶導航到任何頁面時都要驗證身份驗證?看起來這會增加很多電話和潛在的頁面延遲。或者,這真的不是一個問題(Facebook電話很快)還是有其他一些我錯過的聰明方式?以某種方式移動呼叫客戶端,我相信Facebook使用緩存?

我已經看過一些Django/Facebook包,但似乎沒有解釋整體策略,這是我正在尋求理解。我看過的教程描述瞭如何登錄,但不用擔心用戶退出Facebook後會發生什麼情況。

回答

1

基本上,用戶使用Facebook登錄一次(這將向Facebook發出請求)。

一旦登錄,它只是表現爲一個普通的Django用戶(大多數應用程序創建的每個Facebook的用戶一個Django用戶)

只有當訪問令牌的使用Facebook到期(以下簡稱「密碼」數據)比你需要再次連接到Facebook。

我推薦你使用Python Social Auth,它基本上爲你做了一切。

+0

然後,如果用戶註銷Facebook,會發生什麼情況 - 他們是否仍然希望登錄到我的Web應用程序?或者他們會希望從Facebook註銷登出他們的每一個使用他們的Facebook登錄的應用程序,在這種情況下,我需要繼續檢查他們是否仍然登錄到Facebook? – user984003

+0

這是一個很好的問題。這完全取決於你:你是否可以選擇使用Facebook註冊到你的網站?或者您的網站中的用戶是* Facebook用戶?更常見的是第一個選項,所以即使用戶不*登錄到Facebook,這並不意味着他不能登錄到您的網站。但是無論何時他需要再次登錄您的網站,他都需要使用他的Facebook帳戶,因爲Facebook用戶在您的網站中沒有密碼。這是它的主要問題:認證部分。 – YardenST

+0

啊,我明白了。如果Facebook和我的應用不必如此連接,這當然會更容易。你碰巧知道他們是否需要登錄Facebook才能訪問他們的Facebook信息 - 比如他們的電子郵件或他們可能授予我許可的任何其他信息? – user984003