如何最小代价的实现单点登录。

2021-08-06 10:25:24 +08:00
 ivanMeng

场景如下: 公司内部使用的两个后台,两个主域完全不相同 ,假设在两个系统都拥有 tester 此用户,想登录 a.com 之后 打开 b.com 直接免登录不用在此登录 tester 。 目前想到的方案: iframe 。打开 a.com 的时候 open 一个隐藏的 iframe 里面打开 b.com 特定的页面 并且把 a 登录的凭证 token 拼接到到 b.com 特定链接上 ,b.com 特定链接打开获取链接之上的 token 然后执行保存 cookie 。实现跨域同步 cook

1598 次点击
所在节点    问与答
7 条回复
3dwelcome
2021-08-06 10:39:20 +08:00
用子域名做个登录代理呗,b.a.com 代理到 b.com/login
要不然跨域麻烦事一堆。
oott123
2021-08-06 11:21:50 +08:00
小心 safari
ingdawn
2021-08-06 11:29:58 +08:00
两个网站使用同样的加解密方案,a 网站携带的 token 请求 b 网站能解密直接通过
shiji
2021-08-06 12:56:54 +08:00
感觉用 iframe 折腾这个劲儿,部署个小型的 OAuth 也够了。
rationa1cuzz
2021-08-06 13:52:25 +08:00
cookie session 的话用同一个 session 存储库可以吗?
canbingzt
2021-08-06 14:30:31 +08:00
用 keycloak 吧
norristong2
2022-01-29 18:48:40 +08:00
可以使用开源的框架,不过搭建很麻烦。最小代价就是用一个第三方的 SaaS 服务,我自己做的小工具就用的这家的,有免费版本的: https://www.authing.cn/learn/sso

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/794017

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX