Vuejs2 VueJS-本地存储中存储的身份验证令牌在iPhone上不起作用?

Vuejs2 VueJS-本地存储中存储的身份验证令牌在iPhone上不起作用?,vuejs2,Vuejs2,我构建了一个使用令牌进行授权的应用程序。用户登录并从后端获取令牌。该令牌存储在浏览器的localStorage中,然后用于对API的每次后续调用。如果令牌不存在或是错误的令牌,则会使用401-Unauthorized拒绝呼叫 这在我的桌面浏览器上可以完美地工作,但当我尝试在iPhone上使用它时,一大堆电话被拒绝为401-未经授权--但并非所有电话都被拒绝。我将手机连接到笔记本电脑上进行Safari远程调试,我可以确认令牌位于本地存储中,并且是正确的令牌 不过,似乎有一种模式。我可以从手机中更新

我构建了一个使用令牌进行授权的应用程序。用户登录并从后端获取令牌。该令牌存储在浏览器的localStorage中,然后用于对API的每次后续调用。如果令牌不存在或是错误的令牌,则会使用401-Unauthorized拒绝呼叫

这在我的桌面浏览器上可以完美地工作,但当我尝试在iPhone上使用它时,一大堆电话被拒绝为401-未经授权--但并非所有电话都被拒绝。我将手机连接到笔记本电脑上进行Safari远程调试,我可以确认令牌位于本地存储中,并且是正确的令牌

不过,似乎有一种模式。我可以从手机中更新现有条目,但无法从手机中创建新条目-这些条目将被拒绝为401

我是否遗漏了Vue如何处理移动设备上的本地存储?它在iPhone上的工作方式与在浏览器上的工作方式不同,这有什么原因吗


我很困惑……

不,这是简短的回答。第一件事是让Vue脱离循环。Vue不访问本地存储,js访问。我能想到的唯一一个Iphone问题是,安装在主屏幕上的应用程序不会与safari共享其上下文。我认为这不是你的问题。我真的怀疑这与本地存储有关


有许多方法可以逐个字符地检查发送到api的请求—safari开发工具fiddler。爬过请求头。请特别注意大写或空白的任何差异,尤其是Auth标题。问题就在那里的某个地方盯着你。

解决方案

结果证明,我的应用程序中的一些
URL
s有尾部斜杠,而一些没有。没有斜杠的
URL
s在我的手机上会失败,但在我的桌面上可以正常工作。我检查了我所有的代码,在所有地方都添加了斜杠,现在一切都正常了

var url = 'projects' <- works on desktop, returns 401 on phone
var url = 'projects/' <- works on desktop AND phone

var url='projects'经过更多的调试后,我确定正在请求上发送auth密钥,因此本地存储不是问题所在。然而,我发现只有某些请求被拒绝为402,并且是后端拒绝了它们。我仍然不确定为什么。