Py学习  »  Django

发送刷新和访问令牌的django api

Polaiah Bodeddula • 5 年前 • 1585 次点击  
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)

嗨,我如何修改此代码,以便第一次发送刷新令牌和访问令牌,并通过接收刷新令牌发送访问令牌。 请帮忙。 提前谢谢。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/47751
 
1585 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Shakil
Reply   •   1 楼
Shakil    6 年前

如果不销毁你先前生成的令牌,我认为这是不可能的。如果每次登录此处时都需要新的authToken,可以首先确保销毁先前的令牌并创建新的令牌。

 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)