Ich habe einen grundlegenden Django-Rest-Service, der
Ich möchte darüber noch die jwt-Authentifizierung hinzufügen. Wenn ich dem Tutorial folge, müsste ich eine neue URL namens "api-token-auth" im Projekt urls.py hinzufügen. Aber ich möchte diese neue URL nicht hinzufügen und möchte, dass mein Registrierungsaufruf als Antwort ein Token sendet.
Hier ist mein Code:
serializers.py
%Vor%views.py
%Vor%Frage 1: Um ein Token zu erstellen, das mit django-rest-framework-jwt funktionieren würde, können Sie eine Funktion verwenden, die wie folgt aussieht:
%Vor%Sie können diese Funktion zur Ansicht hinzufügen und das Token erstellen, sobald der Benutzer registriert wurde.
Frage 2: JWT-Token müssen nicht in der Datenbank gespeichert werden. Sie können mich darüber lesen, wie JWT bei Ссылка
funktioniertFrage 3 und 4: Um Token zu verwenden, um den Zugriff auf eine bestimmte Ansicht zu beschränken, insbesondere auf eine APIView oder eine ihrer Unterklassen oder eine Ansicht, die von Django Rest Framework bereitgestellt wird, müssen Sie Folgendes angeben: Permissionsklassen zum Beispiel
%Vor%Frage 5: Eine mögliche Schlaufe bei der Arbeit mit Django Rest Framework sind die Standardberechtigungen, die Sie aus den Einstellungen Ihrer Anwendung einrichten, wenn Sie beispielsweiseAll in den Einstellungen alle Ansichten öffentlich zugänglich machen, es sei denn, Sie überschreiben ausdrücklich die Berechtigungsklassen.
Akzeptierte Antwort enthält Code, der Token generiert, aber nicht zeigt, wie er in Serializer / View integriert wird. Auch nicht sicher, dass manual jwt.encode
gut ist, wenn wir bereits jwt_encode_handler
haben
Um dies zu tun, können Sie SerializerMethodField
erstellen und dort ein Token erstellen:
Fügen Sie dann token
Feld zu Meta.fields
hinzu.
Das vollständige Beispiel finden Sie hier
Tags und Links python django authentication django-registration django-rest-auth