在React中使用Safari而不是Chrome接收401状态

时间:2018-05-24 18:01:04

标签: reactjs http https django-rest-framework token

我们面临的问题如下:当使用Safari作为浏览器而不是Chrome时,我们会在get api电话上收到401状态。我们使用的技术是React和Django Rest Framework。在React中,我们也在使用axios。再次,当我们使用Chrome作为我们的浏览器(没有给出401错误并且身份验证似乎没问题)时,一切都很好,但是当我们切换到Safari时,它不起作用。我们还应该注意,在使用Postman进行测试时,如果我们在我们的身份验证标头中存储令牌,则不会给出401状态(它可以工作)。

为了尝试解决这个问题,我们在Django后端尝试了不同类型的身份验证类,并确保CORS在我们的设置中。我们还确保遵循反应组件生命周期以进行正确安装,并包含每个api调用所需的相应信息。我们认为这是客户端问题。

请参阅下面的图片,了解我们看到的网络请求/回复以及我们的api电话。

Network Responses and api call

1 个答案:

答案 0 :(得分:2)

所以事实证明我们的问题的根源是我们没有用正斜杠结束我们的一个api url,导致301然后304.Chrome能够自动更正没有问题,但Safari,IE,和firefox不能。