如何使用Python为Web服务设置基于令牌的身份验证?

时间:2011-03-31 19:36:54

标签: python django web-services authentication

我对Web身份验证,Python和Django都比较陌生。也就是说,我需要为RESTful服务设置基于每个用户令牌的身份验证,我不知道从哪里开始。任何指针都将非常感激。

2 个答案:

答案 0 :(得分:2)

django-tokenapi个包裹。它的主页/自述文件看起来很有用。你有没看过那个?如果是这样,请澄清您尝试过的问题以及您遇到的问题。

请注意,我对Django不太熟悉,所以我可能无法继续提供帮助。

答案 1 :(得分:2)

我做过类似的事情,每个用户都有自己独特的令牌。我创建了一个UserProfile来存储令牌:

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