# UI 优先的统一身份认证系统 Casdoor
## Casdoor 是什么?
Casdoor 是一个基于 OAuth 2.0 / OIDC 的 UI 优先集中认证 / 单点登录 (SSO) 平台,简单点说,就是 Casdoor 可以帮你解决 用户管理 的难题,你无需开发用户登录注册等与用户鉴权相关的一系列功能,只需几个步骤,简单配置,与你的主应用配合,便可完全托管你的用户模块,简单省心,功能强大。
仓库地址: [link](https://github.com/casbin/casdoor)
演示地址: [link](https://door.casbin.com/)
官网文档: [link](https://casdoor.org/)
Casdoor 目前作为 Casbin 社区项目统一使用的鉴权平台,项目已开源,希望得到大家的一些建议和 Star~,我们会及时跟进反馈并改正问题哒。
## 为什么要选用 Casdoor 来管理您的用户?
用户管理一直是项目中非常令人头疼的一个问题,不仅要确保安全性,功能是否完整,方便使用也十分重要。目前大多数应用已从过去单一的账号密码登录,逐渐升级为允许通过第三方平台登录,例如 GitHub 、微信、QQ 等。但是这一套逻辑依然需要开发者去实现,大多数功能偏离了业务。
Casdoor 就是为了替开发者们解决这个难题而生的,它提供了一套统一的鉴权平台,只需要简单配置便可完全托管用户模块。这样
您选用casdoor来管理您的用户的理由可以有很多,我们认为casdoor的以下特性是他能够为开发者解决问题的三大保障
### 功能完备,操作简单。
作为一个需要完全托管用户模块的项目,功能完备必不可少,Casdoor 支持常见用户模块所需要的各种功能。并且配置简单,上手难度低。
### 开源可控,社区活跃。
能否快速得到社区的反馈,解决实际应用中出现的问题也十分重要。Casdoor 有自己的活跃讨论社区(Casnode)和QQ 群,它们均可及时地解决实际应用中的问题。
### 性能强大,耦合良好。
采用 Golang 开发,并发性支持良好,并且内部模块耦合度低,代码易懂,热插拔性好。
## Casdoor 又有哪些特性?
支持普通的账户密码注册登录,也支持各种常见的第三方认证,我们支持的外部平台包括但不限于GitHub 、Facebook 、Google 、Wechat 、QQ 、LinkedIn 并且这个数量正在不断增加。**更值得注意的是:casdoor不仅支持使用这些第三方平台的应用程序登录,它也支持使用插件扩展的第三方登录。**
管理方便。Casdoor 内部将模块分为了 5 大类,Organization 、User 、Application 、Token 和 Provider 。可以同时接入多个组织,组织下有不同应用,用户可以通过应用或组织分类,单独管理任何组织、应用或用户的 Token 令牌,轻松管理复杂系统,目前已部署在 Casbin 社区各种系统当作鉴权平台。
便于迁移。casdoor支持用Excel表格文件(xlsx)导入所有用户信息的功能,使得您在将用户信息迁移至本平台时可以更加快速、更加高效。
自定义程度高。Casdoor 可以随意修改登录方式,例如是否允许密码或第三方登录,自定义应用的注册项数量,是否启用两步验证,以及是否允许各个 Provider 登录、注册等等,高度可插拔。
具备 Swagger API 文档。清晰的 API 介绍,无需阅读源代码即可直接方便调用各个 API 接口,提供定制化功能。
前后端分离架构,部署简单。作为统一认证平台,除了性能,稳定性,新特性之外,易用性也是考量的重要标准,Casdoor 后端使用 Golang 语言开发,前端使用 React.js 框架,使用者只需启动后端服务,并将前端工程文件打包,即可直接使用,操作简单,上手难度低。
支持多种协议,casdoor支持CAS、OAuth、OIDC、SAML等多种协议并且还在不断扩大支持范围以满足用户的多样化需求,便于开发者使用
应用场景多样,目前casdoor已经适配了微信小程序、gitlab、禅道、ELK等平台,可以轻松在它们上为开发者提供认证服务
充分安全的验证码系统。casdoor支持各种形式的验证码,包括但不限于reCAPTCHA、hCaptcha、Aliyun Captcha,它们的存在可以充分保证平台的用户数据安全,使得开发者可以免遭恶意攻击的影响。
便利的云储存。Casdoor支持云储存服务以及本地储存服务,可以满足开发者的文件储存需求。目前casdoor支持 AWS S3 and 阿里云 OSS 云供应商,并且正在添加更多云存储服务。
...
## 总结
我们希望 Casdoor 能帮助广大开发者们解决用户管理的难题,更专注主要业务,提高开发效率。
同时作为一个开源项目,我们也非常希望获得大家的使用建议,帮助我们更好地改善项目质量,从功能、易用性等方面更好地满足大家的需求。
如果使用过程中有任何疑问,欢迎加入社区 QQ 群交流,提 Issues 。当然,提 PR 也是十分欢迎的!
**QQ 群:645200447**
有疑问加站长微信联系(非本文作者)