在客戶端,我使用Facebook SDK的iOS SDK進行登錄,並獲取Facebook ID和訪問令牌。Django的自定義用戶模型和Facebook登錄
現在,在Django方面,我想創建一個用戶,使用Facebook ID作爲主標識符和其他字段,如訪問令牌,名字,姓氏等(我將從Graph中檢索的最後兩個字段服務器端的API)。
我知道我必須創建一個自定義用戶模型。
如果您希望存儲與用戶有關的信息,則可以使用包含字段的模型的一對一關係獲取更多信息。這種一對一模式通常稱爲配置文件模型,因爲它可能存儲有關站點用戶的非auth相關信息。
這還不夠,因爲我將使用Facebook ID和訪問令牌進行身份驗證。
這給我留下了兩個選項:我可以替換一個自定義的用戶模型,像這樣:
AUTH_USER_MODEL = 'myapp.MyUser'
或者,我可以繼承AbstractUser:
如果你完全滿意Django的用戶模型而您只想在 中添加一些額外的配置文件信息,您可以簡單地將 django.contrib.auth.models.AbstractUser分類並添加您的自定義配置文件 字段。
但這聽起來不太正確。另外這個設計提示讓我更加困惑。
型號的設計考慮 處理不直接相關的認證您的自定義用戶Model.It可能是更好的存儲應用程序特定的用戶信息在與用戶模式的關係的模型信息之前,應仔細考慮。
實施我想要做什麼的最佳方法是什麼?
我的印象是使用OneToOne關係只會有助於如果附加字段只是額外的信息,而不是驗證所需的字段。我查看了自定義身份驗證後端,但我首先想知道如何設置我的用戶模型。 – geekchic
是的,我的答案是,Facebook身份驗證應該是一個額外的身份驗證。考慮一下你正在離線測試你的網站的情況(沒有網頁)。您無法進行身份驗證以進行測試。 –
額外驗證?那麼在我的情況下,最小認證是什麼? – geekchic