我们开发了一个SPA SaaS,并在最近进行了软性生产发布。
一切都很好,直到我们的一个客户告诉我们,他们在使用应用程序时遇到了麻烦.一旦他们打开应用程序,对我们后台的第一个请求就会触发他们的代理凭证提示。希望在登录请求上.他们必须输入他们的代理凭证才能让请求通过。所有后续的请求都能正常通过,他们就可以使用这个应用了。
问题是。
当他们停止使用应用程序,关闭浏览器,然后第二天再回来时,持久登录试图将他们连接到我们的后台,但代理证书提示没有被触发,请求失败。所有的子次请求也都失败了。
要想再次成功,他们必须删除chrome中的所有应用数据(所以服务工作者是未注册的,本地存储和缓存被清除)。下一次api调用将触发他们的代理凭证提示,他们将能够再次工作。
那么有没有什么方法可以让应用知道代理是否已经设置?有什么办法可以在没有设置的情况下触发代理凭证提示或者其他什么?
我不太清楚这些代理是如何工作的,我们对代理设置也没有任何权限.肯定是一段时间后凭证过期的问题,但这是我们现在能弄清楚的。也许我们可以监控请求头中的一些参数?
我们使用VueJS和axios来处理请求。
我的猜测是,当用户会话凭证过期时,你的UI没有处理重定向到登录页面。当用户第一次登录时,你应该在浏览器本地存储中存储用户已经成功登录。如果你的服务器返回 401
错误代码,您可以删除该标志,并将用户重定向到登录页面。你可以使用路由器中的元字段来实现。
查看这个链接,了解如何使用元字段。https:/router.vuejs.orgguideadvancedmeta.html。