J'utilise l'API JSON Web token du cadre de repos de Django qui se trouve ici sur github ( https://github.com/GetBlimp/django-rest-framework-jwt/tree/master/ ).
Je peux créer avec succès des jetons et les utiliser pour appeler des APis REST protégées. Cependant, il y a certains cas où je voudrais supprimer un jeton spécifique avant son heure d'expiration. J'ai donc pensé à faire cela avec une vue comme :
class Logout(APIView):
permission_classes = (IsAuthenticated, )
authentication_classes = (JSONWebTokenAuthentication, )
def post(self, request):
# simply delete the token to force a login
request.auth.delete() # This will not work
return Response(status=status.HTTP_200_OK)
El request.auth
est simplement un objet de type chaîne. Bien entendu, cela ne va pas fonctionner, mais je ne savais pas comment effacer le jeton sous-jacent.
EDIT
En lisant plus sur ce sujet, il semble que je n'ai pas besoin de faire quoi que ce soit puisque rien n'est jamais stocké sur le serveur avec JWT. Il suffit donc de fermer l'application et de régénérer le jeton lors de la prochaine connexion. Est-ce correct ?