在使用下面的视图验证 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)
如果您需要更多信息,请告诉我。