Derzeit erzeuge ich Token manuell, aber ich möchte jwt
Tokens verwenden, ich folgte den offiziellen Dokumenten und anderen Referenzen, aber ich bin immer noch nicht in der Lage, das Problem zu lösen.Erhalte DRF-JWT-Token
serializers.py, in denen nach der Authentifizierung Token manuell generiert wird.
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),
]
In Einstellungen I 'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
Ich habe verwendet url(r'^api-token-auth/', obtain_jwt_token)
aufgenommen haben, aber ich bin nicht in der Lage, herauszufinden, wie werde ich jwt
Token generieren. Bitte helfen Sie mir aus!