2017-06-23 56 views
2

我想爲我的用戶使用用戶名或帶密碼的電子郵件進行一些自定義身份驗證。在第一次使用電子郵件和密碼進行日誌記錄時,api應該將相應的用戶令牌返回給我。對於所有其他使用api的操作,我需要使用令牌,這是我在登錄時獲得的。在django restframework中進行身份驗證的自定義模型,而不是默認的用戶模型

我需要一個自定義的模型來存儲喜歡的用戶名,密碼,電話,電子郵件等令牌的所有用戶信息

如何做到這一點在Django restframework。

請指導我做到這一點。提前致謝。

+0

嘗試Django的自定義驗證https://docs.djangoproject.com/en/1.11/topics/auth/customizing/ –

回答

1

Django rest-framework具有內置令牌系統,可用於分發和驗證令牌。以下是如何使用它的示例。

創建標記

from rest_framework.authtoken.models import Token 
user = User.objects.get(pk=some_pk) 
token = Token.objects.create(user=user) 

身份驗證令牌

if Token.ojects.get(key=token) # token is sent by client side 
    # do some task as auth is successful 

如果你想擴展默認的用戶模型,然後創建一個新的模型,並把onetoone場在您的自定義模型,引用默認的用戶模型。

class AppUserProfile(models.Model): 
    user = models.OneToOneField(User) 
    ... # add other custom fields like address or phone 
+1

謝謝您的回答Arpit索蘭奇。 – Ramkumar

相關問題