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

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

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

    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

    317 条回复    2024-03-22 14:01:52 +08:00
    1  2  3  4  
    jmone
        1
    jmone  
       2021-09-25 03:25:39 +08:00   ❤️ 2
    赞,可惜我不用 golang
    mewz
        2
    mewz  
       2021-09-25 18:27:22 +08:00
    支持下
    tanhui2333
        3
    tanhui2333  
       2021-10-12 17:29:12 +08:00
    前台分页?
    yveJohn
        4
    yveJohn  
       2021-10-13 09:40:54 +08:00
    好东西,star 先
    PPP1G
        5
    PPP1G  
       2021-10-13 11:02:35 +08:00
    好用已 star
    Casbin
        6
    Casbin  
    OP
       2021-10-14 11:08:55 +08:00   ❤️ 1
    @PPP1G 感谢使用~
    Casbin
        7
    Casbin  
    OP
       2021-10-14 11:09:22 +08:00
    @tanhui2333 后面很快会改为后端分页哈
    tanhui2333
        8
    tanhui2333  
       2021-10-14 11:14:29 +08:00
    @Casbin #7 👍
    bqx619
        9
    bqx619  
       2021-10-15 03:01:30 +08:00
    一直期待能有个好用的国产 auth0 💪
    dbskcnc
        10
    dbskcnc  
       2021-10-18 21:11:54 +08:00 via Android
    star 支持
    hawei
        11
    hawei  
       2021-10-18 22:59:03 +08:00 via Android
    有机会试一下
    yukiwc
        12
    yukiwc  
       2021-10-19 11:50:14 +08:00
    没做人机检测吗,随便输了个密码狂点登录,可以一直试,可能会被密码爆破
    kiii
        13
    kiii  
       2021-10-20 21:41:57 +08:00   ❤️ 1
    支持 wordpress 吗?
    comver
        14
    comver  
       2021-10-21 02:55:45 +08:00
    看上去和同类型身份验证的产品功能相似,目前国内已经有挺多的商业项目在做。
    海外开源项目也有如 Keycloak

    不过还是支持一下,已经 Star 。
    balabalaguguji
        15
    balabalaguguji  
       2021-10-21 18:06:22 +08:00   ❤️ 2
    API 文档建议用易文档编写,非常专业漂亮 https://easydoc.net
    Casbin
        16
    Casbin  
    OP
       2021-10-27 14:20:47 +08:00
    @yukiwc 忘记密码页面有人机检测,密码输错多次时,可以显示图灵测试
    smg
        17
    smg  
       2021-10-28 17:17:12 +08:00
    ZeroDu
        18
    ZeroDu  
       2021-10-29 23:01:16 +08:00   ❤️ 5
    好好的东西怎么不写中文文档? readme 不写中文就算了,文档居然也没有中文
    458671
        19
    458671  
       2021-10-31 10:01:51 +08:00   ❤️ 1
    逛 V2 逛到了自己参与的开源项目 😄
    spidah
        20
    spidah  
       2021-11-03 11:18:17 +08:00   ❤️ 3
    @ZeroDu 使用英语可以让更多的人参与到社区中
    iseki
        21
    iseki  
       2021-11-05 13:12:53 +08:00
    还在使用旧版 swagger 啊
    Casbin
        22
    Casbin  
    OP
       2021-11-06 15:54:32 +08:00
    tanhui2333
        23
    tanhui2333  
       2021-11-06 17:11:24 +08:00
    @Casbin 牛啊牛啊
    hingle
        24
    hingle  
       2021-11-06 22:21:41 +08:00   ❤️ 50
    极其缺乏文化自信,README 用英文完全可以理解,但是 GitHub 中 Casbin 组织地区写着旧金山,本身就是国人项目,项目贡献者前三也全是国人,却连个完整的官方中文文档都没有。
    airdb
        25
    airdb  
       2021-11-06 23:27:08 +08:00
    我们是一个公益团队,正准备使用,不知道可否给我们支持一下。
    Casbin
        26
    Casbin  
    OP
       2021-11-07 00:29:27 +08:00
    @hingle 非常不好意思,中文文档我们社区的小伙伴已经在加紧翻译,预计 2 周内翻译率达到 100%,站里对翻译有兴趣的也欢迎一起来: https://crowdin.com/project/casdoor
    Casbin
        27
    Casbin  
    OP
       2021-11-07 00:33:35 +08:00
    @airdb 没问题,可以加我们社区负责人的 WX:MTU4MTA1NDI2Mzc=
    wjh000123
        28
    wjh000123  
       2021-11-09 15:25:33 +08:00
    @Casbin demo 挂了
    Casbin
        29
    Casbin  
    OP
       2021-11-10 00:01:52 +08:00
    Casbin
        30
    Casbin  
    OP
       2021-11-10 01:19:55 +08:00
    @iseki Swagger UI 已经更新到 4.x: https://github.com/casbin/casdoor/pull/319
    cheung
        31
    cheung  
       2021-11-11 17:40:17 +08:00
    厉害
    cheung
        32
    cheung  
       2021-11-11 17:43:03 +08:00
    我是不是可以用 auth.id 这域名来搭建该服务?
    Casbin
        33
    Casbin  
    OP
       2021-11-11 21:01:52 +08:00
    @cheung Casdoor 采用 Apache 2.0 开源协议,可以自行搭建使用或商业化
    sunorg
        34
    sunorg  
       2021-11-14 12:09:43 +08:00 via Android
    没看到怎么将已有系统整合该功能。
    lyoe
        35
    lyoe  
       2021-11-17 14:04:09 +08:00
    @cheung #32 好域名,已经成功一大半了 😁
    cheung
        36
    cheung  
       2021-11-17 18:41:46 +08:00
    @lyoe 嗯,说实话,老外已报价 2w 刀了。不舍得卖,卖了就没有了,还玩个屁。
    longquanwo
        37
    longquanwo  
       2021-11-18 08:52:24 +08:00
    可以支持 Azure Active Directory 么,对于企业用户权限组管理 太重要了
    miao1007
        38
    miao1007  
       2021-11-20 13:43:35 +08:00 via iPhone
    ldap 和 saml 的企业特性也需要啊
    Casbin
        39
    Casbin  
    OP
       2021-11-20 23:42:23 +08:00
    @miao1007 LDAP 已经支持了,可以在组织修改页面最下方,编辑 LDAP 信息: https://door.casbin.com/organizations/built-in

    SAML 支持也马上就会推出
    Kilerd
        40
    Kilerd  
       2021-11-20 23:43:57 +08:00 via iPhone   ❤️ 13
    我实在不理解不写中文文档怎么就是文化不自信了,你看看 GitHub 上面的中文垃圾用户到底有多少。
    imcj
        41
    imcj  
       2021-11-21 17:49:05 +08:00
    @Casbin 打算整合到我们公司的开源低代码平台。有机会交流一下。
    Casbin
        42
    Casbin  
    OP
       2021-11-21 18:30:40 +08:00
    @imcj 没问题,可以加我们社区负责人的 WX:MTU4MTA1NDI2Mzc=
    pythonee
        43
    pythonee  
       2021-11-24 10:12:42 +08:00
    要是能再介绍管理模型就更好了
    这个主要聚焦用户管理,还是认证管理呀
    zjj19950716
        44
    zjj19950716  
       2021-11-25 10:12:36 +08:00
    简单跑了一下
    1.docker 跑的没用 8000 端口, 死活登不上,发现用 localhost 前端直接写死了 8000
    2.有时候用着用着页面刷不出来了,看了日志 result 直接 deny 了 要登出重新登录才能用
    kofj
        45
    kofj  
       2021-11-27 16:30:15 +08:00
    配置腾讯云 SMS 一直不行
    Casbin
        46
    Casbin  
    OP
       2021-11-28 12:19:53 +08:00
    @kofj 您好,腾讯云 SMS 经测试是可以使用的,具体配置参考: https://door.casbin.com/providers/provider_tencent_sms ,如果还有问题可以加 QQ 群答疑哈
    Recle
        47
    Recle  
       2021-11-29 00:23:06 +08:00 via Android
    哇,这个听起来太爽了!
    hutoer
        48
    hutoer  
       2021-11-30 09:18:23 +08:00
    提供商不能自定义回调 URL ?现在貌似都是统一的 域名 /callback
    Casbin
        49
    Casbin  
    OP
       2021-12-04 00:47:17 +08:00
    @hutoer 现在已经可以在 JS SDK 中指定回调 URL 了: https://github.com/casbin/casnode/commit/c31b659a86702c5e61f29e021462d980bff6c589
    yaott2020
        50
    yaott2020  
       2021-12-05 17:19:04 +08:00 via Android
    1kstar 达成
    duhb
        51
    duhb  
       2021-12-07 12:14:57 +08:00 via iPhone
    和友盟有啥区别……
    Casbin
        52
    Casbin  
    OP
       2021-12-07 18:01:55 +08:00
    @duhb 老哥,umeng 是做 app 监控的,我们这个是 web 单点登录平台,差的不是一星半点。。
    duyaofei
        53
    duyaofei  
       2021-12-07 22:33:30 +08:00
    赞,有没有 java 版本?
    Casbin
        54
    Casbin  
    OP
       2021-12-08 08:34:07 +08:00
    @duyaofei 支持 java 项目通过 casdoor-java-sdk 接入哈~ https://github.com/casdoor/casdoor-java-sdk
    coosir
        55
    coosir  
       2021-12-08 11:08:39 +08:00
    很高兴能看到这样的产品,提几个疑惑的点:
    - 管理员后台更改用户密码,居然要输入原密码……
    - 很多新增的操作都是一键默认生成个随机的,然后要再去修改,也比较难适应
    - PC 端用企业微信登录,不是扫码登录,那流程就进行不下去了
    Casbin
        56
    Casbin  
    OP
       2021-12-12 21:13:21 +08:00
    acrisliu
        57
    acrisliu  
       2021-12-13 12:22:54 +08:00 via iPhone
    在 demo 里面好像没看到维护角色的地方?
    Casbin
        58
    Casbin  
    OP
       2021-12-13 22:00:55 +08:00
    @coosir 第三个问题也解决了,一个选项设置错了,Method 改为"Normal"即可正常扫码:

    https://github.com/casbin/casdoor/issues/363#issuecomment-992479713
    AkideLiu
        59
    AkideLiu  
       2021-12-14 02:21:17 +08:00 via iPhone
    给大佬点赞了,最近有个小项目想用来试试。希望 Java sdk 持续完善
    coosir
        60
    coosir  
       2021-12-14 09:57:10 +08:00
    @Casbin 赞,反应真迅速哇……
    qfdk
        61
    qfdk  
       2021-12-14 14:43:39 +08:00 via iPhone
    最近搞 nodejs 的 oidc 快疯了. golang 的 等着看下, 我的那个没有配置管理界面. 感谢楼主先
    tuutoo
        62
    tuutoo  
       2021-12-14 14:47:11 +08:00
    demo 站的数据是实时的吗?如果是,我建议每隔一小段时间清除掉,还原到初始,保护大家的隐私。毕竟还是会有些 QQ 号 邮件存进去。
    Casbin
        63
    Casbin  
    OP
       2021-12-16 12:20:05 +08:00
    @tuutoo 这个我们会在关键信息进行打码修复,谢谢建议
    hhacker
        64
    hhacker  
       2021-12-16 13:04:09 +08:00
    战略性马克
    dnsjia
        65
    dnsjia  
       2021-12-17 13:00:02 +08:00
    个人网站可以微信扫码登录?
    Casbin
        66
    Casbin  
    OP
       2021-12-17 18:54:40 +08:00
    @dnsjia 这个以微信开放平台要求的资质为标准,Casdoor 只是提供接入微信登录的技术能力
    mascteen
        67
    mascteen  
       2021-12-17 18:59:15 +08:00 via Android
    为了方便登录我又要创建一个账号密码?
    lizhenda
        68
    lizhenda  
       2021-12-18 13:10:50 +08:00
    真的不错哦,持续关注,可以省很多事
    Tinywan
        69
    Tinywan  
       2021-12-21 13:08:30 +08:00
    真的不错
    chinaiy
        70
    chinaiy  
       2021-12-28 12:54:29 +08:00
    无中文,差评.jpg
    Casbin
        71
    Casbin  
    OP
       2021-12-28 19:49:22 +08:00
    @chinaiy 文档有中文: https://casdoor.org/zh/docs/overview

    系统右上角小地球标识也支持切换语言
    xunbug
        72
    xunbug  
       2021-12-30 14:02:25 +08:00
    FrankFang128
        73
    FrankFang128  
       2021-12-30 14:10:11 +08:00
    这个规范的需求,为什么不用 RESTful API
    Casbin
        74
    Casbin  
    OP
       2021-12-30 22:26:44 +08:00
    @FrankFang128 后端 API 就是 RESTful API 的哈: https://casdoor.org/docs/basic/public-api
    zhouchijian
        75
    zhouchijian  
       2022-01-01 22:05:42 +08:00
    docker 跑不起来,dockerfile 写死了 db:3306
    44 楼老哥 zjj19950716 提到的问题也存在
    Casbin
        76
    Casbin  
    OP
       2022-01-01 22:54:26 +08:00
    Valid
        77
    Valid  
       2022-01-05 03:11:42 +08:00
    一个非常好的产品,但是入门成本有点高
    Casbin
        78
    Casbin  
    OP
       2022-01-07 18:11:23 +08:00
    @Valid 有 Docker 版本可以 docker run 一键试用哈 https://casdoor.org/docs/basic/try-with-docker
    csulyb
        79
    csulyb  
       2022-01-08 16:42:27 +08:00
    怎么整合到现有的产品中 文档都是介绍这个服务器怎么部署的
    Casbin
        80
    Casbin  
    OP
       2022-01-10 00:18:29 +08:00
    IMengXin
        81
    IMengXin  
       2022-01-10 21:38:46 +08:00
    @Casbin Page Not Found
    Casbin
        82
    Casbin  
    OP
       2022-01-11 00:18:07 +08:00
    FakerLeung
        83
    FakerLeung  
       2022-01-16 03:33:00 +08:00 via iPhone
    一直想动手自己做一个,发现没这时间。
    wongskay
        84
    wongskay  
       2022-01-24 11:59:51 +08:00
    准备打算用了
    Casbin
        85
    Casbin  
    OP
       2022-01-26 10:07:02 +08:00
    @wongskay 感谢支持
    mmrindextt
        86
    mmrindextt  
       2022-01-26 10:43:28 +08:00
    Ives
        87
    Ives  
       2022-01-27 13:29:00 +08:00 via iPhone
    还阔以接入运营商一键登录
    timpaik
        88
    timpaik  
       2022-01-30 20:54:40 +08:00 via Android
    很明显翻译还是缺乏校对、、
    Casbin
        89
    Casbin  
    OP
       2022-01-31 19:45:46 +08:00
    duke807
        90
    duke807  
       2022-02-07 18:10:16 +08:00 via Android
    對於網站來說,用第三方登錄風險還是挺大的,容易因為各種不可控因素導致用戶無法登錄,很多網站中過招

    對於用戶來説,因為有很多第三方平台登錄,經常忘記自己之前是用哪個平台登陸的了

    對於小網站,用無需登陸的方式更好,不用註冊,免密碼,用郵箱收認證碼,驗證一次 N 天免驗證,具體形式:
    https://blog.d-l.io/about-zh
    Casbin
        91
    Casbin  
    OP
       2022-02-08 10:56:38 +08:00
    @duke807 Casdoor 支持通过 Web 后台配置来关闭其他登录方式,只采用验证码登录(手机或邮箱或都有),所以你说的这种方式是支持的
    wangxiaoaer
        92
    wangxiaoaer  
       2022-02-08 11:16:12 +08:00
    支持开发者自己进行定制然后增加新的第三方登录体系吗?
    Casbin
        93
    Casbin  
    OP
       2022-02-08 14:54:35 +08:00
    @wangxiaoaer 支持,实现这个 IdProvider 接口即可: https://github.com/casdoor/casdoor/blob/bd38552db5ffef1ed209b23922018a3493b80c5f/idp/provider.go#L32-L36 实现好了欢迎给我们提 PR ,也可以你自己留着用
    wangxiaoaer
        94
    wangxiaoaer  
       2022-02-08 16:29:05 +08:00
    @Casbin #93 上午看了下,貌似支持,但不是我以为的那种,笑哭。看来在实现了一个 provider 后还要改动 provider.go 这个工厂的代码以注册进去。可能是受 java 影响较多吧,我理想的插件机制是带有自动发现或者自动注册那种。不过这个项目是我一直在苦苦寻找的那种,之前找来找去好像 Keycloak 最接近,但是定制麻烦,casdoor 貌似简单很多。

    对了,你们有没有做过调研对比,有没有其他实现 OIDC 的库推荐?
    archxm
        95
    archxm  
       2022-02-10 09:31:10 +08:00
    @duke807 这个想法挺好的。
    Casbin
        96
    Casbin  
    OP
       2022-02-11 18:31:06 +08:00
    @wangxiaoaer 自动注册可能需要借助反射,代码稳定性和性能都受一定影响,所以其实必要性不大。我们应该是 Keycloak 比较好的替代品了
    pagepan
        97
    pagepan  
       2022-02-19 16:38:02 +08:00
    已关注,不错,之前没有想到要找这样的项目,就自己一个个集成登录,以后更换上。
    iiusky
        98
    iiusky  
       2022-02-20 17:30:16 +08:00
    这个能设置接入后网站的菜单权限吗?
    Casbin
        99
    Casbin  
    OP
       2022-02-21 12:04:49 +08:00
    @pagepan 感谢支持
    Casbin
        100
    Casbin  
    OP
       2022-02-21 13:30:54 +08:00
    @iiusky 可以的
    1  2  3  4  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2745 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 12:24 · PVG 20:24 · LAX 05:24 · JFK 08:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.