我有两个站点,它们登录之后,都会生成一个token,用于确定认证成功,下次API请求就可以带上token,也必须带上才能请求。
但是我怎么才能实现token在两个站点上面共用呢?
我有两个站点,它们登录之后,都会生成一个token,用于确定认证成功,下次API请求就可以带上token,也必须带上才能请求。
但是我怎么才能实现token在两个站点上面共用呢?
前台把token存到浏览器的localStorage里,localStorage可以在同一浏览器的不同窗口调用,然后在后台把两个站点的表连上,或者干脆请求同一个接口。
PS:存值:localStorage.setItem(name, xxxxxx)
取值:let anything = localStorage.getItem(name)
单点登录网上有很多成熟的解决方案了,基本流程差不多都是这样:
1.先解决跨域问题
2.多个站点使用相同的token校验、生成方案,比如可以使用jwt
3.token存在cookie或localStorage中
4.多个站点之间通讯,将token放入请求头中或拼接到URL参数中传递出去
5.站点得到token后,完成登录状态同步
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
3 回答843 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
很早很早以前喜欢用 P3P 技术,用于设置跨域 cookie。
现在的话应该更流行 oauth 或者其它认证方案。比较建议采用这样的方案。