Casdoor: 具有 Web UI 界面的开源身份认证、单点登录平台,支持 GitHub、Gitee、QQ、微信、钉钉登录等

2021-09-23 15:24:06 +08:00
 Casbin

UI 优先的统一身份认证系统 Casdoor

Casdoor 是什么?

Casdoor 是一个基于 OAuth 2.0 / OIDC 的 UI 优先集中认证 / 单点登录 (SSO) 平台,简单点说,就是 Casdoor 可以帮你解决 用户管理 的难题,你无需开发用户登录注册等与用户鉴权相关的一系列功能,只需几个步骤,简单配置,与你的主应用配合,便可完全托管你的用户模块,简单省心,功能强大。

仓库地址: https://github.com/casbin/casdoor

演示地址: https://door.casbin.com/

官网文档: https://casdoor.org/

Casdoor 目前作为 Casbin 社区项目统一使用的鉴权平台,项目已开源,希望得到大家的一些建议和 Star~,我们会及时跟进反馈并改正问题哒。

为什么要用 Casdoor ?

用户管理一直是项目中非常令人头疼的一个问题,不仅要确保安全性,功能是否完整,方便使用也十分重要。目前大多数应用已从过去单一的账号密码登录,逐渐升级为允许通过第三方平台登录,例如 GitHub 、微信、QQ 等。但是这一套逻辑依然需要开发者去实现,大多数功能偏离了业务。

Casdoor 就是替开发者们解决这个难题,即 提供一套统一的鉴权平台,只需要简单配置便可完全托管用户模块

使用的理由也非常简单,总结概括为三句话:

  • 功能完备,操作简单。作为一个需要完全托管用户模块的项目,功能完备必不可少,Casdoor 支持常见用户模块所需要的各种功能。并且配置简单,上手难度低。
  • 开源可控,社区活跃。能否快速得到社区的反馈,解决实际应用中出现的问题也十分重要,否则出了 Bug 没人管岂不是尴尬? Casdoor 有自己的讨论社区 Casnode,也有 QQ 群,均可及时活跃地解决实际应用中的问题。
  • 性能强大,耦合良好。采用 Golang 开发,并发性支持良好,并且内部模块耦合度低,代码易懂,热插拔性好。

Casdoor 又有哪些特性?

  • 支持普通的账户密码注册登录,也支持各种常见的第三方认证,例如 GitHub 、Facebook 、Google 、Wechat 、QQ 、LinkedIn 等等,截止目前共 9 个平台,并在不断听取用户建议对更多的平台提供支持。
  • 管理方便。Casdoor 内部将模块分为了 5 大类,Organization 、User 、Application 、Token 和 Provider 。可以同时接入多个组织,组织下有不同应用,用户可以通过应用或组织分类,单独管理任何组织、应用或用户的 Token 令牌,轻松管理复杂系统,目前已部署在 Casbin 社区各种系统当作鉴权平台。
  • 自定义程度高。Casdoor 可以随意修改登录方式,例如是否允许密码或第三方登录,自定义应用的注册项数量,是否启用两步验证,以及是否允许各个 Provider 登录、注册等等,高度可插拔。
  • 具备 Swagger API 文档。清晰的 API 介绍,无需阅读源代码即可直接方便调用各个 API 接口,提供定制化功能。
  • 前后端分离架构,部署简单。作为统一认证平台,除了性能,稳定性,新特性之外,易用性也是考量的重要标准,Casdoor 后端使用 Golang 语言开发,前端使用 React.js 框架,使用者只需启动后端服务,并将前端工程文件打包,即可直接使用,操作简单,上手难度低。
  • ...

总结

我们希望 Casdoor 能帮助广大开发者们解决用户管理的难题,更专注主要业务,提高开发效率。

同时作为一个开源项目,我们也非常希望获得大家的使用建议,帮助我们更好地改善项目质量,从功能、易用性等方面更好地满足大家的需求。

如果使用过程中有任何疑问,欢迎加入社区 QQ 群交流,提 Issues 。当然,提 PR 也是十分欢迎的!

  • QQ 群:645200447

260029 次点击
所在节点    分享创造
360 条回复
C603H6r18Q1mSP9N
2022-05-03 16:24:59 +08:00
怎么收费的?
Casbin
2022-05-03 17:23:13 +08:00
@shanghai1998 #141 可以加群咨询
xinyana
2022-05-22 03:32:48 +08:00
好家伙,挖坟啊
wangxiaoaer
2022-05-23 17:43:15 +08:00
Casbin
2022-05-24 09:24:35 +08:00
@wangxiaoaer #144 已回复
shangrila
2022-05-26 08:37:14 +08:00
好家伙半年了还能置顶
ychost
2022-05-28 22:25:30 +08:00
jCasbin 的质量也太差了点,不过 Casbin 的 model 、policy 值得借鉴
Casbin
2022-05-31 11:43:46 +08:00
@ychost #147 请问 jCasbin 哪部分有问题呢?欢迎提出宝贵意见建议哈
veightz
2022-05-31 16:55:27 +08:00
先码,逐步把公司的 ldap 换成 Google 中…
fivesmallq
2022-05-31 19:21:29 +08:00
没人吐槽下 RESTful API 吗
Casbin
2022-05-31 23:42:30 +08:00
@fivesmallq #150 RESTful API 有什么问题么
fivesmallq
2022-06-01 14:18:45 +08:00
@Casbin API 所有的 url 设计都是 get+post ,path 上全是动词,实际可以使用 http method 来解决,model 好多是复用的,删除的时候也需要传入整个 model 吗?也没有写清楚哪些是必填的,example value 最好有一些真实的数据,会比较直观。response 也是一言难尽,都用的一个,data 和 data2 的作用分别是?

{
"data": {},
"data2": {},
"msg": "string",
"name": "string",
"status": "string",
"sub": "string"
}
fivesmallq
2022-06-01 14:20:12 +08:00
建议参考下其他类似 saas 产品 api 的设计,作为一个平台,api 还是挺重要的
leeggco
2022-06-07 10:17:04 +08:00
按照官方的例子没跑起来

访问登录页面报错,看不到登录框

HPM Error occurred while trying to proxy request /api/get-account from 1.116.227.58:7001 to http://localhost:8000 (ECONNREFUSED) ( https://nodejs.org/api/errors.html#errors_common_system_errors)
Casbin
2022-06-07 14:11:04 +08:00
leeggco
2022-06-07 15:59:39 +08:00
@Casbin 解决了
WOLFRAZOR
2022-06-11 11:22:34 +08:00
有没有人机检测?被爆破咋办?
xuelu520
2022-06-14 16:07:05 +08:00
为啥这个可以一直置顶的?付费的吗?
Lojii
2022-06-18 10:40:28 +08:00
@xuelu520 我也挺好奇,怎么会置顶这么久
aec4d
2022-06-18 12:23:41 +08:00
求求你不要置顶了,置顶大半年了,成功的引起了我的反感

这个项目不能说没用,只能说比较难实施

如果只有一两个内部项目,那么用这种统一认证的方式没必要
如果一家公司有上百个项目,那么很可能这家公司历史悠久,想要改造接入这种统一认证的推动难度不小
如果一个小公司,写第一个项目就考虑统一认证,或许这个项目有用。但是它真的需要考虑这么多吗。绝大多数小公司活不过几年,开始的项目以快速实现为主
一家超大型公司为了统一体验对这种统一认证有比较强的需求,那么别人有几千人的研发团队,有自己的需求。选择一个自己控制不了的项目作为核心接入中间件合理吗?肯定会自己实现

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

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

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

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

© 2021 V2EX