2011-03-31 71 views
4

我對Web身份驗證,Python和Django比較陌生。也就是說,我需要爲RESTful服務設置基於每個用戶的基於令牌的身份驗證,並且我不確定從哪裏開始。任何指針將不勝感激。如何使用Python爲Web服務設置基於令牌的身份驗證?

+1

它是用於整個網站或每個驗證用戶的唯一憑證到您的網站一個令牌? – 2011-03-31 21:56:30

+0

每個用戶。感謝您的詢問。我已經更新了原來的問題。 – 2011-03-31 22:55:00

回答

2

我做了類似的事情,每個用戶都有自己的唯一標記。我創建了一個用戶配置存儲令牌:

from django.contrib.auth.models import User 

class UserProfile(models.Model): 
    user = models.ForeignKey(User, unique=True) 
    token = models.CharField(max_length=100, blank=True) 

的想法是在文檔中提到登錄一個Django用戶。一旦用戶成功通過身份驗證,創建或更新UserProfile以存儲您將通過調用身份驗證WS或另一個WS(將返回唯一標記)獲得的標記。

雖然當前用戶已通過身份驗證,但您應該可以使用存儲的令牌來調用其他WS。

在你settings.py

AUTH_PROFILE_MODULE = 'userprofiles.userprofile' 

從視圖代碼,它會是這樣的:

request.user.get_profile().token 
2

有一個django-tokenapi包。它的主頁/自述文件看起來非常有用。你已經看過那個了嗎?如果是這樣,請澄清您嘗試了什麼以及您遇到了哪些問題。

請注意,我對Django不是很熟悉,所以我可能無法進一步提供幫助。

相關問題