我们面临的问题如下:当使用 Safari 作为浏览器而不是 Chrome 时,我们在 get api 调用中收到 401 状态。我们使用的技术是 React 和 Django Rest Framework。在 React 中,我们也使用 axios。同样,当我们使用 Chrome 作为我们的浏览器时一切都很好(没有给出 401 错误并且身份验证似乎很好),但是当我们切换到 Safari 时,它不起作用。我们还应该注意,在使用 Postman 进行测试时,如果我们在身份验证标头中存储令牌,则不会给出 401 状态(它有效)。
为了尝试解决这个问题,我们在 Django 后端尝试了不同类型的身份验证类,并确保 CORS 在我们的设置中。我们还确保我们遵循 react 组件生命周期以进行正确安装,并包含每个 api 调用所需的适当信息。我们认为这是一个客户端问题。
请参阅下图,简要说明我们看到的网络请求/响应以及我们的 api 调用。