小编cod*_*ner的帖子

Django Rest Framework中的令牌认证实现

我正在使用Django Rest Framework开发API后端.我最初使用会话身份验证开发它,不知道它不能用于发送到移动应用程序.在Postman中尝试用户登录时,我遇到了CSRF保护方面的问题.

现在,由于我必须转移到基于令牌的身份验证才能使其正常工作,我该如何进行呢?我想如何快速实现它.我浏览了stackoverflow上的教程和答案,但实际上无法实现这一点

令牌认证是最合适的认证方法吗?我应该使用默认提供的DRF模块还是JWT或其他一些实现?我可以仅使用令牌身份验证进行用户登录,还可以使用其他3个API的会话身份验证?

class UserLogin(APIView):
queryset = User.objects.all()
serializer_class = UserSerializer
def post(self, request, format='json'):
    username = request.POST.get('username')
    email = request.POST.get('email')
    password = request.POST.get('password')
    user = EmailBackend.authenticate(self,username = email, password = password)
    if user:
        id = user.id
        return Response(id, status=status.HTTP_201_CREATED)
    else:
        return Response("Failure", status=HTTP_400_BAD_REQUEST)

class UserRegistration(APIView):
    queryset = User.objects.all()
    serializer_class = UserSerializer
    def post(self, request, format='json'):
        serializer = UserSerializer(data=request.data)
        if serializer.is_valid():
             user = serializer.save()
             if user:
             return Response('Success', status=status.HTTP_201_CREATED)
        else:
            return Response(serializer.errors, status=HTTP_400_BAD_REQUEST)

class RecommendationQuestions(generics.ListCreateAPIView):
    def post(self, request, …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

1
推荐指数
1
解决办法
3169
查看次数

标签 统计

django ×1

django-rest-framework ×1

python ×1