0

在使用下面的视图验证 otp 后,我正在使用 knox 身份验证登录用户

class LoginPhoneApi(KnoxLoginView):
    permission_classes = (permissions.AllowAny,)

    def post(self,request,formt=None):
        serializer = LoginwithPhoneSerializer(data = request.data)
        serializer.is_valid(raise_exception = True)
        user = serializer.validated_data['user']
        login(request,user,backend='django.contrib.auth.backends.ModelBackend')
        userid = user.id
        username = user.username
        fullname= user.full_name
        temp_list=super().post(request, format=None)

        temp_list.data["userid"]=userid
        temp_list.data["username"]=username
        temp_list.data["fullname"]=fullname
        print(temp_list.data["token"])
        return Response({"data":temp_list.data})

我能够登录并获取身份验证令牌。现在我的一个观点需要经过身份验证的用户。如何验证 url 请求标头中的此令牌。

我能够获取令牌。如何使用此令牌来验证和登录用户。

def dispatch(self, request, *args, **kwargs):
        self.quiz = get_object_or_404(Quiz, url=self.kwargs['quiz_name'])

        auth_method, token = self.request.META['HTTP_AUTHORIZATION'].split(' ', 1)

如果您需要更多信息,请告诉我。

4

0 回答 0