内网多产品单点登录一般用的是什么方案?

2022-09-13 13:57:11 +08:00
 edis0n0
例如在 auth.mycompany.work 登录后 gitlab.mycompany.work nextcloud.mycompany.work oa.mycompany.work 全都自动登录了,只要在一个服务登出全部的服务都登出了,一般用的是什么方案?

auth.mycompany.work 下没有找到版权信息。
4936 次点击
所在节点    程序员
34 条回复
leo108
2022-09-13 17:25:21 +08:00
要支持同步登出的话可选范围不多,OAuth 应该是不支持的,可以看看 SAML 或者 CAS ,支持 SAML 的程序多一些,不过大多数都把 SAML 放在付费支持里。
billly
2022-09-13 18:28:50 +08:00
CAS
ZSeptember
2022-09-13 18:38:18 +08:00
很多开源的,keyclock 或者 CAS
lologame
2022-09-13 19:48:01 +08:00
cas, oidc
fkdog
2022-09-13 19:51:38 +08:00
lua cas 。
应用端什么接口都不用对接,直接从 header 里拿 token 就好了,。
qile1
2022-09-13 20:14:54 +08:00
登录时候 iframe 设置各个系统 token ,退出时候在设置一下失效 exe 程序就得改程序了吧
hoshan185
2022-09-13 21:15:20 +08:00
我们公司用的是 ldap
wooyuntest
2022-09-13 21:22:29 +08:00
keyclock + yubikey
soupu626
2022-09-13 21:36:33 +08:00
和你的问题应该不一样,但是我想到的是,如果都是内部服务的话,可以搞个泛域名,指向网关,然后网关来搞定登陆鉴权,再转发给各个服务,各个服务直接从上下文里取用户信息就行,这样可以搞成一次登陆都登陆,一次退出都退出
mmdsun
2022-09-13 23:08:41 +08:00
直接用 spring session redis 就好,傻瓜式集成。
前端传 token 请求头,还可以踢人。不像 JWT 没有状态。

https://docs.spring.io/spring-session/docs/2.4.6/reference/html5/guides/java-rest.html#servlet-container-initialization
yufeng0681
2022-09-13 23:53:34 +08:00
https://docs.authing.cn/v2/concepts/single-sign-on-and-single-sign-out.html ,愿意花钱就去买 Authing 的服务,不愿意花钱就参考 Authing 的登录,登出实现。 场景比你想得还全面。
Casbin
2022-09-14 00:07:32 +08:00
可以试试单点登录平台 Casdoor ,开源,免费商用: https://www.v2ex.com/t/803669
meshell
2022-09-14 09:25:35 +08:00
共享 cookie 设置 cookie 的时候域设置成这个 .mycompany.work 把 session 信息放到 redis 里面
julyclyde
2022-09-14 13:00:02 +08:00
ldap 只是认证
授权、退出不合适用裸的 ldap 直接做

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

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

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

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

© 2021 V2EX