我有一个阵营应用呈现的客户端,其中我处理验证方式如下:处理验证要阵营应用
- 一旦加载,该应用触发一个AJAX请求到后端,基本上询问用户的会话是否有效;
- 它使用服务器的响应更新应用程序的状态;
- 它相应地呈现“/”路线(如果会话无效则为主页,如果有效,则为仪表板)。
(也许有在前端应用程序处理这个更好的解决方案,我所有的耳朵,如果你有想法)
这工作得很好,但引入服务人员混进去,并试图将应用程序变成离线优先的渐进式网络应用程序似乎...很复杂。
一方面,如果我不缓存“我登录了吗?”请求和应用程序处于脱机状态,应用程序将始终呈现主页。另一方面,如果我缓存了AJAX请求,用户最终将看到一个空的仪表板,因为他们的会话已经过期,服务器将投掷403s。
有没有办法有效处理这个问题?
对,这个“接收403s时的回退”解决方案似乎是一个体面的修复。 但我希望会有一个更加服务人员,具体的解决方案,就像一个方式,而无需用户... 显示的网页或在什么应该是一个应用程序的登录表单交互更新会话看来我错了。 – Bertrand
那么,你还可以做什么刷新你的令牌?所以你检查令牌,如果它不是一个有效的令牌,你忽略它。但是,如果它是一个过期的标记,你可以生成一个新的标记并使用它。 这又取决于您是否有权访问后端api来进行更改,或者您的后端api是否支持它。 –