0
現在、私はトークンを手動で生成していますが、jwt
トークンを使用したいと思います。私は公式のドキュメントやその他のリファレンスに従っていますが、まだ問題を把握できません。DRF-jwtトークンを取得する
serializers.pyトークンの認証後に手動で生成されます。私は'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
が含まれている設定で
class UserLoginSerializer(serializers.ModelSerializer):
token = serializers.CharField(allow_blank=True, read_only=True)
class Meta:
model = User
fields = [
'username',
'password',
'token',
]
extra_kwargs = {"password":
{"write_only": True}
}
def validate(self, data):
username = data.get('username', None)
password = data.get('password', None)
try:
usern = Account.objects.get(username=username)
except ObjectDoesNotExist:
raise serializers.ValidationError("User does not exists")
if usern.check_password(password):
data["token"] = "asdasdasdasd"
else:
raise serializers.ValidationError("password invalid")
return data
urls.py
from django.conf.urls import url
from .views import AuthRegister, AuthLogin
from rest_framework_jwt.views import obtain_jwt_token
urlpatterns = [
url(r'^register/$', AuthRegister.as_view()),
url(r'^login/$', AuthLogin.as_view()),
url(r'^api-token-auth/', obtain_jwt_token),
]
私はurl(r'^api-token-auth/', obtain_jwt_token)
を使用しているが、私はjwt
トークンを生成する方法を把握することができません。 誰か助けてください!