mirror of
https://github.com/inventree/InvenTree.git
synced 2025-05-01 21:16:46 +00:00
added method allowing to remove token
This commit is contained in:
parent
3447123196
commit
105b93a0e3
@ -27,15 +27,32 @@ class GetAuthToken(ObtainAuthToken):
|
|||||||
""" Return authentication token for an authenticated user. """
|
""" Return authentication token for an authenticated user. """
|
||||||
|
|
||||||
def post(self, request, *args, **kwargs):
|
def post(self, request, *args, **kwargs):
|
||||||
|
return self.login(request)
|
||||||
|
|
||||||
|
def delete(self, request):
|
||||||
|
return self.logout(request)
|
||||||
|
|
||||||
|
def login(self, request):
|
||||||
serializer = self.serializer_class(data=request.data,
|
serializer = self.serializer_class(data=request.data,
|
||||||
context={'request': request})
|
context={'request': request})
|
||||||
serializer.is_valid(raise_exception=True)
|
serializer.is_valid(raise_exception=True)
|
||||||
user = serializer.validated_data['user']
|
user = serializer.validated_data['user']
|
||||||
token, created = Token.objects.get_or_create(user=user)
|
token, created = Token.objects.get_or_create(user=user)
|
||||||
|
|
||||||
return Response({
|
return Response({
|
||||||
'token': token.key,
|
'token': token.key,
|
||||||
'pk': user.pk,
|
'pk': user.pk,
|
||||||
'username': user.username,
|
'username': user.username,
|
||||||
'email': user.email
|
'email': user.email
|
||||||
})
|
})
|
||||||
|
|
||||||
|
def logout(self, request):
|
||||||
|
try:
|
||||||
|
request.user.auth_token.delete()
|
||||||
|
except (AttributeError, ObjectDoesNotExist):
|
||||||
|
pass
|
||||||
|
|
||||||
|
self.logout(request)
|
||||||
|
|
||||||
|
return Response({"success": _("Successfully logged out.")},
|
||||||
|
status=status.HTTP_200_OK)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user