V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Casbin
V2EX  ›  分享创造

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

  •  
  •   Casbin · 2021-09-23 15:24:06 +08:00 · 247827 次点击
    这是一个创建于 1155 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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

    355 条回复    2024-11-20 09:21:34 +08:00
    1  2  3  4  
    humphery
        301
    humphery  
       312 天前
    有机会试一下
    lzd123
        302
    lzd123  
       309 天前   ❤️ 1
    这文档这么这么难用啊,标题是中文内容全是英文...没法看
    imldy
        303
    imldy  
       308 天前   ❤️ 6
    为什么一直推广这个帖子
    LittleFox
        304
    LittleFox  
       308 天前
    还是希望官方抽空能把中文文档完善一下吧
    jtacm
        305
    jtacm  
       297 天前
    能否对 application 做到无代码侵入?比如类似 authentik 或者 authelia ,用一个 Nginx 挡住后,后面 application 是不需要做任何代码更改的。
    Jinnrry
        306
    Jinnrry  
       295 天前 via Android   ❤️ 4
    https://www.v2ex.com/t/956441#reply11

    别人给你提漏铜 你踢人?
    AndyLeo
        307
    AndyLeo  
       294 天前
    点赞,刚好我需要类似的能力,github 已 star
    kiii
        308
    kiii  
       293 天前   ❤️ 3
    别顶这个了行吗,好烦
    a852695
        309
    a852695  
       289 天前
    非常优秀呀,相当于聚合了多个用户登录组件
    csh010101
        310
    csh010101  
       286 天前
    这个跟 authentik 的区别是什么?
    luoyuan2018
        311
    luoyuan2018  
       282 天前
    可以再支持一个 apple id ,就更好了。
    Casbin
        312
    Casbin  
    OP
       282 天前
    @luoyuan2018 本来就是支持苹果登录的,只是没有单独的教程,可以在演示站测试: https://door.casdoor.com/login
    mrwangjustsay
        313
    mrwangjustsay  
       268 天前   ❤️ 3
    好家伙 至尊 VIP
    zzkxxx
        314
    zzkxxx  
       266 天前   ❤️ 1
    好家伙又置顶了。
    nyakoy
        315
    nyakoy  
       259 天前
    这是充了多少,天天置顶
    daimaosix
        316
    daimaosix  
       248 天前 via Android
    @Livid 为什么这个帖子总是出现这个分类的第一个
    lstz
        317
    lstz  
       244 天前 via Android   ❤️ 2
    我 block 了这个作者,bye
    monkeylmj
        318
    monkeylmj  
       233 天前
    @Livid 为什么这个帖子一直占着坑位
    pytth
        319
    pytth  
       232 天前 via iPhone   ❤️ 2
    怎么拉黑了还能看到这个恶心项目
    zjp
        320
    zjp  
       213 天前 via Android   ❤️ 1
    想起来了还有“忽略主题”功能
    teaegglove
        321
    teaegglove  
       196 天前
    建议用 zitadel,也是 Go 的,代码质量高的多
    Ponsai
        322
    Ponsai  
       185 天前
    clerk 也是一个用户管理平台,可以参考下它的功能,它前端界面权限控制很好用
    dengqianyi
        323
    dengqianyi  
       184 天前
    @imcj 你们是哪个开源低代码?
    DaChengDawn
        324
    DaChengDawn  
       166 天前
    借楼分享一个我和同事一起开发的 AIGC 生成婚礼演讲工具网站
    选择角色、风格、长度后(也可补充输入个人故事),可一键生成演讲内容~
    体验地址: https://aiweddinggenerator.com
    0x5c0f
        325
    0x5c0f  
       134 天前
    不是很理解,是否可以接入 nginx ,用来替代 auth_basic 模块功能呢
    R1
        326
    R1  
       126 天前
    看着不错 Mark 下
    jazzsama
        327
    jazzsama  
       112 天前
    优秀
    seekafter
        328
    seekafter  
       112 天前
    这个项目有什么坑吗? 又在首页刷到了
    zsan3653nj
        329
    zsan3653nj  
       111 天前
    这个项目 易用性 确实很棒
    ilylx2008
        330
    ilylx2008  
       93 天前
    文档不够详细,调试一个注销接口折腾半天,还得改代码。
    GKD
        331
    GKD  
       90 天前
    被这帖子 恶心透了
    xiaohanyu
        332
    xiaohanyu  
       81 天前
    这个帖子真是奇怪哈,时不时就冒出来置顶一下。
    Tidal
        333
    Tidal  
       80 天前   ❤️ 2
    @xiaohanyu 同感 时不时就冒出来了一下 还以为穿越了
    wangxiaoer
        334
    wangxiaoer  
       74 天前
    借楼问一下,有其他平替+支持二次开发的开源方案吗?

    这个风评貌似不是很好,另外,也需要二次开发增加一些私有的 OAuth 认证服务。
    mark2025
        335
    mark2025  
       74 天前
    @ZeroDu 假洋鬼子
    zhouhuab
        336
    zhouhuab  
       72 天前
    v2 毒瘤
    xiaohanyu
        337
    xiaohanyu  
       69 天前
    @wangxiaoer 试试 https://logto.io ,我自己在 SaaS 项目( https://ppresume.com )在用,还不错,国人作品,开源的
    xiaohanyu
        338
    xiaohanyu  
       69 天前
    woodytang
        339
    woodytang  
       69 天前
    这个怎么和自己的用户系统 结合呢,比如用户下单,是用你的系统里的用户 id 吗?
    xiaohanyu
        340
    xiaohanyu  
       66 天前
    @woodytang auth 系统和自己系统的集成主要就两种方式吧,一是把 auth 系统当成 source of truth ,直接在 auth 中存储用户相关的所有数据,然后自己系统通过 API call 的方式存取 user 相关的信息,二是 auth 系统仅存储 auth 相关,user 相关的信息存在自己的系统里,user 表中加个“外键”,用于关联 auth 系统中的 user id 。

    具体怎么设计,还是得根据自己的业务来吧
    dabaibai
        341
    dabaibai  
       64 天前
    支持下 有机会试一试
    dabaibai
        342
    dabaibai  
       59 天前
    vue 前端怎么用
    woodytang
        343
    woodytang  
       52 天前
    @xiaohanyu 这就是让我感觉很难受的地方
    gdfsjunjun
        344
    gdfsjunjun  
       41 天前
    很多年前用过 Authing ,问一下这个相比有什么区别呢?或者说有什么更好的地方?
    artoostark
        345
    artoostark  
       41 天前
    @gdfsjunjun Authing 拿投资了。
    djasdjds
        346
    djasdjds  
       38 天前
    这是冲了多少钱啊,又出现了
    mynamejome
        347
    mynamejome  
       36 天前
    我们公司已经在用了,不过有很多地方不满足需求,自己改源码了
    lujiaxing
        348
    lujiaxing  
       31 天前
    好东西。不过我不用 golang...
    renvip
        349
    renvip  
       22 天前
    怎么一直有人掘坟,管理员把超过 90 天的帖子禁止评论吧
    artoostark
        350
    artoostark  
       19 天前
    @renvip 这帖子还一直不进推广区。
    easylee
        351
    easylee  
       19 天前 via iPhone
    用过,因为以下原因没用于生产,评价几条。

    1. 文档不是很友好,对着做技术调研都有些压力,过多的私有名词理解起来很费劲。
    2. 后台 UI 不咋好看,被业务团队否了不止一遍。
    3. 给大股东演示 Demo 的时候,官网顶部显示“我们支持乌克兰”,好像是说要给乌克兰捐款,又被否了。

    诶,没用成,看功能挺全的,如果是我个人还是愿意支持的
    ounxnpz
        352
    ounxnpz  
       14 天前
    支持 ldap 了吗
    zzmark06
        353
    zzmark06  
       8 天前
    要不,优化优化文档?
    这文档看了不止一圈,也没搞明白 casbin 和 casdoor 咋配合使用

    casdoor 的 sdk 只给了登录相关,但页面有模型配置,难不成要用 casbin-jdbc 适配器直接对接?
    若是前端鉴权,难不成每个都用 API 发 enforce ?
    基于 API 鉴权,前端想要拉取一个列表用于动态路由,没有接口啊。
    给的五个 API 分别是,enforce, 批量 enforce ,剩下那仨到底是干啥的?

    还有 casdoor 的配置,也太麻烦了,各个配置间有依赖,需要讲究顺序,但文档哪里提了这个东西,暴力的摸索半个小时过去,一套流程都没配置出来

    最蠢的是,sdk 都不给 API 文档的,想知道有啥功能还得去翻源码……

    加群也是跳来跳去没个回复,
    zefpe2
        354
    zefpe2  
       7 天前   ❤️ 1
    这个东西我看了很久了,完全不知道怎么整合,重新搞个正常人读的文档吧。QuickStart 、API 、Learn by Example 都搞起来,全是干巴巴的概念
    liuzimin
        355
    liuzimin  
       1 天前
    支持检测终端是否安装某软件吗?最近在做网络准入系统。
    1  2  3  4  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3251 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 12:05 · PVG 20:05 · LAX 04:05 · JFK 07:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.