def login(request):
username = request.data.get("username")
password = request.data.get("password")
if username is None or password is None:
return Response({'error': 'Please provide both username and password'},
status=HTTP_400_BAD_REQUEST)
user = authenticate(username=username, password=password)
if not user:
return Response({'error': 'Invalid Credentials'},
status=HTTP_404_NOT_FOUND)
token, _ = Token.objects.get_or_create(user=user)
return Response({'token': token.key},
status=HTTP_200_OK)
嗨,我如何修改此代码以首次发送刷新令牌和访问令牌,并通过接收刷新令牌来发送访问令牌。 请帮助做到这一点。 预先感谢。
答案 0 :(得分:0)
我认为不破坏先前生成的令牌是不可能的。如果您希望每次登录都需要新的authtoken,可以先确保销毁较早的令牌并创建一个新的authto。
from django.core.exceptions import ObjectDoesNotExist
try:
token = Token.objects.get(user=user)
token.delete()
token = Token.objects.create(user=user)
except ObjectDoesNotExist:
token = Token.objects.create(user=user)