2013-11-26 175 views
0

我已經閱讀了關於將社交身份驗證與django項目集成的django的很多不同應用程序。但是,我在理解這種集成工作方式時遇到了一些困難在django中使用社交身份驗證的用戶系統

它是否擴展了默認的USER模型?我在哪裏可以找到應用程序中的那些信息?

我基本上需要一個具有組的用戶系統(用於許可目的)。用戶將能夠使用通用註冊程序或Facebook進行註冊。我可以通過任何類型的應用程序來實現嗎?

在此先感謝。

回答

1

有一個名爲django-allauth的應用程序。如果你閱讀他們的官方文檔,這很容易遵循。根據他們的指示,你安裝核心應用程序,以及任何你需要的認證(比如facebook,谷歌使用的oauth)。然後,你必須去facebook,獲得開發人員的鑰匙,並將其添加到你的django管理員。

基本上,當有人試圖使用Facebook登錄時,登錄過程會將密鑰發送到Facebook,並檢查用戶是否存在。如果是這樣,那麼身份驗證應用程序會在後端創建用戶,就像正常登錄過程一樣。您可以從Facebook獲取javascript來創建登錄窗口。

+0

感謝您的回覆。當你寫'正常登錄過程'時,你的意思是所有的用戶都會被存儲在同一個地方?那些通過Facebook註冊並通過普通註冊註冊的人?我可以設置組和權限嗎?我能否通過ID引用每一位用戶,這在註冊過程中是獨一無二的? –

+0

如果你看他們的源代碼:https://github.com/pennersr/django-allauth/blob/master/allauth/account/forms.py,似乎登錄用戶的過程是相同的,不管方法如何。只要您有用戶名和密碼,並且在後端處於活動狀態,您就可以登錄。用一點鹽來看我的觀點,但是,看起來你應該能夠管理他們,就像管理'普通用戶'一樣。它不需要太多時間;你可以射門,看看。 – user2707389

+0

因此,如果用戶使用Facebook註冊,他將不得不創建用戶名和密碼? –

相關問題