1
我下面這個教程https://yeti.co/blog/oauth2-with-django-rest-framework/但後來我打了一個腫塊。我可以註冊一個新用戶,但是當我嘗試使用格式獲得令牌:Django的REST框架的OAuth2令牌
curl -X POST -d "grant_type=password&username=<user_name>&password=<password>" http://<client_id>:<client_secret>@localhost:8000/o/token/
我會得到一個錯誤,說是有credential
錯誤。但是,如果我使用the admin page
創建了新用戶,我將能夠獲得令牌。我的猜測是,在sign_up
視圖中,密碼不是hashed
,所以出現一些錯誤,但我不知道如何更改它。
serializers.py文件:
from rest_framework import serializers
from django.contrib.auth.models import User
class SignUpSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('username', 'password')
write_only_fields = ('password',)
views.py文件:
from rest_framework import generics
from permissions import IsAuthenticatedOrCreate
from django.contrib.auth.models import User
from users.serializers import SignUpSerializer
class SignUp(generics.CreateAPIView):
queryset = User.objects.all()
serializer_class = SignUpSerializer
permission_classes = (IsAuthenticatedOrCreate,)
你試過嗎? (從原始文檔)'捲曲-X POST -d 「grant_type =密碼&用戶名=&密碼= 」 -U 「:的」 http://本地主機:8000/O /令牌/' –
vabada