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

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

  •  
  •   Casbin · 282 天前 · 68410 次点击
    这是一个创建于 282 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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

    168 条回复    2022-07-01 21:47:04 +08:00
    1  2  
    jmone
        1
    jmone  
       281 天前
    赞,可惜我不用 golang
    mewz
        2
    mewz  
       280 天前
    支持下
    tanhui2333
        3
    tanhui2333  
       263 天前
    前台分页?
    yveJohn
        4
    yveJohn  
       262 天前
    好东西,star 先
    PPP1G
        5
    PPP1G  
       262 天前
    好用已 star
    Casbin
        6
    Casbin  
    OP
       261 天前   ❤️ 1
    @PPP1G 感谢使用~
    Casbin
        7
    Casbin  
    OP
       261 天前
    @tanhui2333 后面很快会改为后端分页哈
    tanhui2333
        8
    tanhui2333  
       261 天前
    @Casbin #7 👍
    bqx619
        9
    bqx619  
       261 天前
    一直期待能有个好用的国产 auth0 💪
    dbskcnc
        10
    dbskcnc  
       257 天前 via Android
    star 支持
    hawei
        11
    hawei  
       257 天前 via Android
    有机会试一下
    yukiwc
        12
    yukiwc  
       256 天前
    没做人机检测吗,随便输了个密码狂点登录,可以一直试,可能会被密码爆破
    kiii
        13
    kiii  
       255 天前
    支持 wordpress 吗?
    comver
        14
    comver  
       255 天前
    看上去和同类型身份验证的产品功能相似,目前国内已经有挺多的商业项目在做。
    海外开源项目也有如 Keycloak

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

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

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

    系统右上角小地球标识也支持切换语言
    xunbug
        72
    xunbug  
       184 天前
    FrankFang128
        73
    FrankFang128  
       184 天前
    这个规范的需求,为什么不用 RESTful API
    Casbin
        74
    Casbin  
    OP
       184 天前
    @FrankFang128 后端 API 就是 RESTful API 的哈: https://casdoor.org/docs/basic/public-api
    zhouchijian
        75
    zhouchijian  
       182 天前
    docker 跑不起来,dockerfile 写死了 db:3306
    44 楼老哥 zjj19950716 提到的问题也存在
    Valid
        77
    Valid  
       179 天前
    一个非常好的产品,但是入门成本有点高
    Casbin
        78
    Casbin  
    OP
       176 天前
    @Valid 有 Docker 版本可以 docker run 一键试用哈 https://casdoor.org/docs/basic/try-with-docker
    csulyb
        79
    csulyb  
       175 天前
    怎么整合到现有的产品中 文档都是介绍这个服务器怎么部署的
    Casbin
        80
    Casbin  
    OP
       174 天前
    IMengXin
        81
    IMengXin  
       173 天前
    @Casbin Page Not Found
    Casbin
        82
    Casbin  
    OP
       173 天前
    FakerLeung
        83
    FakerLeung  
       168 天前 via iPhone
    一直想动手自己做一个,发现没这时间。
    wongskay
        84
    wongskay  
       159 天前
    准备打算用了
    Casbin
        85
    Casbin  
    OP
       157 天前
    @wongskay 感谢支持
    mmrindextt
        86
    mmrindextt  
       157 天前
    Ives
        87
    Ives  
       156 天前 via iPhone
    还阔以接入运营商一键登录
    timpaik
        88
    timpaik  
       153 天前 via Android
    很明显翻译还是缺乏校对、、
    Casbin
        89
    Casbin  
    OP
       152 天前
    duke807
        90
    duke807  
       145 天前 via Android
    對於網站來說,用第三方登錄風險還是挺大的,容易因為各種不可控因素導致用戶無法登錄,很多網站中過招

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

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

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