Token放置在请求的Header作为安全验证,如果做页面跳转,刷新页面,那么如何放置到header中

新手上路,请多包涵

目前比较流行使用类似于auth2的方式,使用jwt作为token放在header中发送到后台做安全验证
但是我有疑惑
有很多系统其实存在页面跳转的,页面会频繁刷新
如果做页面跳转,刷新页面,那么如何做到利用js在请求时放置到header中

阅读 4.8k
4 个回答

做不到. 放自定header中的内容只能由前端处理.

如果使用在header中放token的跳转, 不应该使用 302, 应该是200返回给前端要跳转的地址, 让前端自己处理.

现在前后分离的开发方式下,前端模板是始终向用户开放的。需要的一些数据都是通过 ajax 去加载,这时候可以在 ajax 中添加 header 对应的 token ,而这些 token 都是可以放在本地的 localStorage 或者 Cookie 中,即使刷新了页面也可以照样拿出来再请求后端时带上。

如果跳转页面,如果是 SameSite(同站),道理也是跟上面一样的,如果不是 SameSite,那就需要用一些其他手段,比如直接使用 302 跳转携带在 url 参数中,或者构建一个 POST ,放在 payload 中。然后再由被跳转的页面作出理。

  • 同域下通过前端本地缓存解决,localstorage,cookie等都可以
  • 不同域名通过url参数传递到新窗口获取

有没有可能是认知偏差:页面跳转不一定是多页面,可能还是一个单页面的,只是前端路由跳转而已,现在前后端分离情况下多页面的应用不常见。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题