有什么类似 casdoor 的开源认证系统推荐吗?

2022-08-04 09:28:02 +08:00
 lingly02
一直想找一个开源认证平台,可以稍做改造后用于自己的项目。不想重复造轮子。 初步研究了一下前几天论坛里发的 casdoor,发现还是有一些问题,想找下有没有更好的。

casdoor 的主要问题有(只是粗略看了一下,下面描述如有错误,欢迎批评指正):
1. 代码编写比较随意,几乎没有注释,大部分代码没有单元测试,不利于二次开发。
2. 代码扩展性一般,很多内容是硬编码的。比如想增加一个 sms 提供商,至少需要修改 go-sms-sender, casdoor 后端,casdoor Web 端三处代码。
3. 数据模型极不合理,尤其是主键大量使用组合索引,关联表也不使用外键,而是直接使用字符串字段存储 name ,导致修改一个主表,还需要 update 相关子表。不知道这是遵循一种什么样的建模理论。
4. 组织没有层次结构,不能满足大部分企业应用需求。
5. 为什么一个认证平台要加入商品与支付功能?
6810 次点击
所在节点    程序员
57 条回复
Ayanokouji
2022-08-04 12:44:30 +08:00
spring authorization server ?
kappa
2022-08-04 12:55:05 +08:00
对于 casbin 的印象只有定期在各大站点发推广文,另一个类似操作的也是国人作品 go-zero
HAWCat
2022-08-04 13:47:48 +08:00
@lingly02 目前没有 SMS 实现,不过可以先暂时用 Duo Mobile 来配合使用吧,这个可以推送登录请求
ohoh
2022-08-04 14:56:53 +08:00
keycloak
FakerLeung
2022-08-04 15:22:33 +08:00
好奇,像接入了这种统一认证,那么每个 App 怎么去验证是否登录呢?那还需要存 user 的什么信息呢?
ck65
2022-08-04 15:47:36 +08:00
Keycloak 很稳
ackfin01
2022-08-04 15:56:11 +08:00
@FakerLeung 应用肯定要存用户信息啊 只不过认证都是在 sso 系统
FakerLeung
2022-08-04 17:28:31 +08:00
@ackfin01 #27
能讲下具体点的流程吗?还是不太懂。😂
demonzoo
2022-08-04 17:39:10 +08:00
@ackfin01 不,理想情况下是应用并不需要存用户信息,所有跟用户相关的信息都是从 identity provider 那边拿到的。这样才能方便的做到应用间的信息共享,解决信息孤岛问题
logto
2022-08-04 17:51:43 +08:00
@lingly02 #14
@lovepocky #16
感谢两位关注。LDAP 已经在我们的 roadmap 里啦: https://github.com/orgs/logto-io/projects/5
如果大家感兴趣(等不及),也欢迎贡献 LDAP connector 哈。我们也有相关教程: https://docs.logto.io/zh-cn/docs/recipes/create-your-connector/
clickhouse
2022-08-04 17:52:37 +08:00
Keycloak+1
realpg
2022-08-04 18:09:22 +08:00
@Oktfolio #11
.gitignore 都没写么
Aloento
2022-08-04 18:32:28 +08:00
identityserver 很推荐,我自己也在用
Aloento
2022-08-04 18:34:06 +08:00
@logto 用 JS 写的吗,真的大丈夫?
C603H6r18Q1mSP9N
2022-08-04 19:23:11 +08:00
@logto 好赞,请问 vue 可以适配 uniapp 吗?
qfdk
2022-08-04 19:45:04 +08:00
自己写过一 js 的 不知道有兴趣么
Casbin
2022-08-04 19:46:33 +08:00
@lingly02 你好,

1. 由于功能特性、性能方面的原因,现在需要修改多个位置代码,未来会考虑如何简化 SMS 提供商的开发
2. Casdoor 本身设计不依赖太多 SQL 提供的功能,方便未来扩展非 SQL 的支持,所以目前没有使用外键请见谅,未来有可能加入
3. 层次结构未来会添加
idblife
2022-08-04 21:15:50 +08:00
keycloak
demonzoo
2022-08-04 21:35:40 +08:00
@Aloento Logto OIDC 的实现是 node.js 代码,运行在 server 端,我没觉得 js 语言本身有什么问题
wangxiaoaer
2022-08-04 22:35:52 +08:00
@logto #30 看了下,挺不错,但似乎暂不支持每个应用定制图标、设置不同的连接器?

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

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

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

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

© 2021 V2EX