您好,我有一些問題搞清楚如何使用身份驗證令牌融入我的應用程序。 目前,我已經根據文檔設置了一切(至少我認爲是這樣,請參閱我已查看的文檔上的第1點)。我可以訪問身份驗證令牌端點並實際上獲取令牌,我也可以驗證它允許我使用該令牌進行身份驗證,因爲我已將它添加到我的一些端點(下面提供)的所需權限中。
核心問題
我的問題是,我試圖找出如何將用戶的職位與他們的身份驗證令牌相關聯,並讓他們的這個職位與自己的令牌的「老闆」,但用自己的「用戶名'而不是他們的'標記'字符串。我感謝任何和所有幫助:)
在我的models.py文件中...我得到的錯誤,所有者必須是'用戶'的實例,我假設它是從Django auth.User。我想知道如何改變它,以便它使用令牌找出用戶是誰,並將其保存爲他們的名字。我查看了文檔,我不確定我能找到它。
的文件我看過了
- REST框架authentication
正如我前面提到的,我可以用我的代幣只是在這行代碼罰款驗證自己的意見....它工作得很好,沒有錯誤。這導致我相信我在model.py中做了錯誤的事情(粘貼在下面)。
authentication_classes = (authentication.TokenAuthentication,)
models.py
from django.db import models
from django.contrib.auth.models import User
from rest_framework.authtoken.models import Token
# Create your models here.
class PRequests(models.Model):
created = models.DateTimeField(auto_now_add=True)
owner = models.ForeignKey('auth.User', related_name='p_requests')
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
pmessage = models.TextField()
approved = models.BooleanField(default=False)
def save(self, *args, **kwargs):
super(PRequests, self).save(*args,**kwargs)
settings.py
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
'api',
'rest_framework',
'rest_framework.authtoken',
'wlmapp',
'p_requests',
'corsheaders',
'nuggets',
)
我已經加入了對的authToken框架,包括端點,因此用戶可以實際收到令牌。
urlpatterns += patterns('',
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
url(r'^api-token-auth/', 'rest_framework.authtoken.views.obtain_auth_token'),
)