You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

HTML5 Session Storage跨域重定向(Auth0认证场景)是否保留数据?

关于Session Storage在重定向及Auth0认证场景下的留存问题

嘿,我来帮你把这两个问题拆解清楚:

问题1:HTML5的Session Storage在重定向回原域名后是否会持久保留?

答案是会的,但要满足一个核心前提:同一浏览器标签页

Session Storage的核心特性是绑定在单个浏览器标签页的会话上,并且遵循同源策略——只有同一个域名下的页面才能访问该域的Session Storage数据。当你从原域名重定向到其他域名,再跳转回来时:

  • 只要这个标签页没有被关闭,原域名的Session Storage数据就会一直保留,不会因为跨域跳转而被清除
  • 其他域名的页面完全无法访问你原域名的Session Storage,两者是完全隔离的

问题2:Auth0认证场景下的Session Storage数据留存

针对你用Auth0的场景,结论同样是数据会存在

当用户在你的应用里点击认证链接前,你把数据存入了当前标签页的Session Storage,之后用户被跳转到Auth0的域名(不同域)完成认证,再跳转回你的应用:

  • 整个过程都是在同一个标签页内完成的,Session Storage的会话生命周期没有被中断(标签页没关)
  • Auth0域名的页面无法访问你应用域名的Session Storage,自然也不会修改或清除它
  • 用户返回你的应用后,你依然可以正常读取之前存入的Session Storage数据

需要额外注意的是:如果用户是新开标签页打开认证链接(比如右键“在新标签页打开”),那新标签页的Session Storage是独立的,原标签页的数据不会同步过去,但你描述的是“同一窗口标签页下”,所以这种情况不用考虑。

内容的提问来源于stack exchange,提问作者Mattias

火山引擎 最新活动