一个跨域问题?
从 登陆页
跳转到 首页
. 他们域名不是样的。
比如
登陆页
: www.a.com
首页
: www.b.com
登陆完成之后返回用户信息,需要在 sessionStorage 里面保存的。但是 sessionStorage 不跨域
在 登陆页
保存的信息,无法在 首页
中获取。
这时候就需要跨域了。
我想到了 postMessage
,多窗口和 iframe 的情况下好处理。
但是由于是在当前窗口跳转,即在当前窗口发送,也在当前窗口接收。我就有点不会写了,望指点。
或者还有更好的办法吗?
补充:
1:没有 iframe ,是当前窗口的跳转。
2:目的是想把登陆页拆分到不同的域名中,以便做用户灰度。
3:不想使用 queryString 的方式,第一很暴露,第二还得再去服务器拿数据。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
做成 ouath 登陆呢?
朝这个思路做如何。。
我们就拿 QQ 快捷登陆简单举例下吧。。
比如你现在在 1024 看图片,然后需要 QQ 快捷登陆一下。
然后网站会带你跳转到 QQ 快捷登陆的网站,输入完登陆信息,再被跳转回去,跳转回 1024 的时候,你可以把认证信息写入噻。
这样说来还是太粗糙了,可以静下心找找相关资料看看,不知道这个思路如何
最简单的办法:从A站跳到B站的时候如果已经登录,带一个GET参数token,B站收到token后检验合法性,通过验证后获取用户身份并设置B站已登录状态,token仅一次有效。
如果两个都是主站。而且都有用户信息。那么。
1.点击以后。A往B 发一个token 标注是哪个用户的。 同时生成带token 的连接。
2.用户点击带token的连接访问B的时候,就会激活 登录信息
如果不是的话,理论上有一个专门认证登录的站点c,用来存储用户信息。
无论是A还是B 都直接从c获取用户信息即可。而不是多次登录 。
跨域登录一般还是使用SSO的方式,这种方式最为稳定和有效了,包括新浪等大型网站也都是使用这种方式。
方式是用户在A网站登录后在后台数据库中生成一个Ticket,通过Ticket携带到B网站上,B网站后台验证Ticket。
Ticket一次有效,也可以通过增加有效期保证安全。
在 a 站登录好后,跳到 b 站,往 b 站发一些东西啊
你的登录a是用iframe么?你的当前窗口是指b么? 是b页面里有个iframe页面a么?