我有两个站点,它们登录之后,都会生成一个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后,完成登录状态同步
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
很早很早以前喜欢用 P3P 技术,用于设置跨域 cookie。
现在的话应该更流行 oauth 或者其它认证方案。比较建议采用这样的方案。