如何通过标头传递JWT令牌作为反应原生到django rest api?

时间:2017-08-28 20:00:00

标签: django api react-native django-rest-framework react-native-android

我在标题中传递令牌(我已经从控制台知道),如下面的代码所示,并希望在该用户获得身份验证后来自该localhost的数据但在我的Android模拟器上显示错误Cannot convert undefined or null to object

Login.js

componentDidMount() {
     return fetch('http://10.42.0.1:8000/stocks/',
        {
         method: "GET",
         headers: 
         {
          'Authorization': `Bearer ${"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InNhbSIsInVzZXJfaWQiOjYxLCJlbWFpbCI6IiIsImV4cCI6MTUwMzk0ODYyMH0.l4VLMLXcSZ7nOmKmjblLKFr0lTSpgYeFks_JeYiO7cU"}`
         }
  })

     ...

  }

在views.py

class Stocks(APIView):
      permissions_classes = [IsAuthenticated]
      authentication_classes= (TokenAuthentication,)
      def get(self,request):
          stocks=stock.objects.all()
          serailizer=serial(stocks,many=True)
          return Response(serailizer.data)

此处令牌未到达服务器,因此未授予权限。 我们正在使用Django rest jwt token。 谢谢

1 个答案:

答案 0 :(得分:3)

令牌格式已更改,现在您需要发送" JWT {token}"请参阅docs

然后我建议axios来组织'你的服务器沟通。

解决方案如下:

return axios({
  method: 'GET',
  url: `url`,
  headers: {
    Authorization: `JWT ${token}`,
  },
  data: dataToSend,
});