我想问一下 单点登录是如何做到完全跨域的 token 共享的?就是我在一个系统登录了然后返回给我一个 token 那我在另外一个系统登录的时候是如何检测出来我这个 token 的? 就是说我第一次登录了之后 sso 认证中心有我的信息了,我在另外一个系统再登录的时候,我附带的 token 信息是如何得到的?是存储在浏览器全局信息里面的吗?
1
ragnaroks 2019-04-18 08:48:07 +08:00
最简单的: 从 A 应用跳转 B 应用的时候带上?token=<Token>
不过问题也很明显,被别有用心的网络环境劫持了,获取到 token 了,那么用户就不是用户了 |
2
xrr2016 2019-04-18 09:49:26 +08:00
哈哈,昨天刚在知乎看到一篇文章 https://zhuanlan.zhihu.com/p/62399636
|
3
doublleft 2019-04-18 14:32:01 +08:00
储存在 sso 的 session 池,第三方应用进行登录时候拿 token 去这个池换取
|
4
Shikyou 2020-06-24 16:53:10 +08:00
这一类实现单点登录的云服务已经很多了,为什么还要自行开发呢?
比如国内的 Authing,还有美国的 Auth0 和 AWS Cognito 都行的(国内由于政策原因用不了)。 用了以后就回不去了,再也无需开发、运维用户系统 |