4 votes

Comment supprimer un jeton JWT de django ?

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 ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X