0

我正在使用 Django Restframework 为站点设置令牌身份验证,并且需要能够让用户下载他们的令牌,但问题是他们只能下载一次令牌(类似于 Amazon AWS 模型)。

换句话说; 是否有本地方法来检查用户是否已在 restframework 中分配了令牌?

4

2 回答 2

1

你可以这样做:

from rest_framework.authtoken.models import Token
from django.conf import settings
token = Token.objects.create(user=settings.AUTH_USER_MODEL)

现在您可以检查您的给定用户是否有令牌:

user_with_token = Token.objects.get(user=user)

如果您只想查看用户是否有令牌:

is_tokened = Token.objects.filter(user=user).exist()  # Returns a boolean

如果该条目存在,则意味着用户已分配给它一个令牌。参考:这里

按照那里的文档确保您的数据库已迁移。

于 2016-07-25T20:28:54.037 回答
0

尝试使用 django 信号自动创建用户令牌,例如在您的模型文件中。

@receiver(post_save, sender=User)
def create_auth_token(sender, instance=None, created=False, **kwargs):
if created:
    Token.objects.create(user=instance)
于 2016-07-26T12:32:57.837 回答