Casdoor:支持 OAuth 2.0、OIDC 和 SAML 的 UI 优先集中式身份验证/单点登录 (SSO) 平台,与 Casbin RBAC 和 ABAC 权限管理集成

2023-05-16

开源地址:https://github.com/casdoor/casdoor

文档:Casdoor DOC

在线demo:Casdoor

Casdoor 目前作为 Casbin 社区项目统一使用的鉴权平台,并且项目已开源

为什么使用Casdoor

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

Casdoor 就是替开发者们解决这个难题,即提供一套统一的鉴权平台,只需要简单配置便可完全托管用户模块,功能完备,配置简单,上手难度低。它具有以下特性:

1、前后端分离的架构,前端使用react,后端使用 Go 语言开发,Casdoor 支持高并发,提供基于Web的用户管理 UI,并支持中、英等多种语言

2、Casdoor 支持 Github, Google, QQ, WeChat, Facebook, Gitee 等第三方应用程序登录,并支持使用插件扩展第三方登录

3、使用 Casbin 基于授权管理,Casdoor 支持 ACL, RBAC, ABAC, RESTful 等访问控制模型

个性化的注册、登录和忘记密码页面。支持手机验证码、邮件验证码、找回密码等功能

4、使用阿里云、腾讯云、七牛云提供的图片CDN云存储

5、Casdoor 支持使用 db 同步方法与现有系统的集成,用户可以顺利过渡到Casdoor

6、Casdoor 支持的主流数据库: MySQL, SQL Server, PostgreSQL 等, 并支持扩展插件的新数据库

工作原理

建立在OAUTH2之上

向用户发送授权请求、获得授权认证、向授权服务器发送授权认证并验证、获取访问令牌、给资源服务器发送访问令牌、获得受保护的资源

如何使用Casdoor

1、标准OIDC 客户端
Casdoor 完全实现了OIDC协议。 如果您的应用程序已经运行了另一个 OAuth 2,那么 (OIDC) 身份提供商一般会通过标准的 OIDC 客户端库提供服务,如果您想要迁移到Casdoor, 使用 OIDC discovery会帮助您非常容易地切换到Casdoor。

2、Casdoor SDK

与标准的 OIDC 协议相比,Casdoor 在 SDK 中提供了更多的功能,如用户管理、资源上传等。 通过 Casdoor SDK 连接到 Casdoor 的成本比使用 OIDC 标准客户端库更高,并将提供灵活性最佳和最强大的 API。

Casdoor SDK可分为两类:前端sdk和后端sdk

Casdoor SDKs | Casdoor · An Open Source UI-first Identity Access Management (IAM) / Single-Sign-On (SSO) platform supporting OAuth 2.0, OIDC, SAML and CAS

3、Casdoor 插件

Casdoor为一些热门平台提供插件或中间件,例如Java的SpringBoot、PHP的WordPress、Python的Odoo等

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Casdoor:支持 OAuth 2.0、OIDC 和 SAML 的 UI 优先集中式身份验证/单点登录 (SSO) 平台,与 Casbin RBAC 和 ABAC 权限管理集成 的相关文章

  • 研究生投稿被拒经历

    2021 7 25 投稿IEEE JSTARS 2021 7 27 被拒 xff08 查重率不过 xff09 2021 9 7 投稿Remote Sensing赠刊1 2021 9 10 被拒 xff08 创新度不够 xff09 2021
  • 垃圾+虚假会议大全https://waset.org/conferences,千万别投

    这个垃圾网站上面的会议全是假的 xff01 xff01 xff01 千万别投 xff01 xff01 xff01 https waset org conferences 投稿前 我研究领域是 xff1a 不确定性量化和灵敏度分析 学院的毕业
  • CVPR 2022 图像恢复论文

    地址 xff1a https openaccess thecvf com CVPR2022 https openaccess thecvf com CVPR2022 workshops NTIRE Blind2Unblind Self Su
  • 项目代码训练教程

    配置好matconvnet后 xff0c deep model下有三个文件夹 xff0c 分别是我们的方法 xff1a FOC SDeCNN try和SDeCNN方法 xff1a HSI SDeCNN train1 2 3 HSI SDeC
  • 每日一篇论文推荐

    每日一篇论文推荐 7 5 Unsupervised Hyperspectral Denoising Based on Deep Image Prior and Least Favorable Distribution7 6 WINNet W
  • ISP图像信号处理 | GAMES204-计算成像

    图像信号处理 GAMES204 计算成像 Dead Pixel CorrectionBlack Level CompensationAnti aliasingLens Shading CorrectionNoise Reduction3AS
  • np.max()、np.argmax()、np.maximum()、np.min()、np.argmin()、np.minimum()、np.sum()

    numpy专题 最值 求和 最大值np max np argmax np maximum 求和np sum 网上已经有很多对于这几个函数的讲解资料 xff0c 但总感觉讲得有些乱 xff0c 特别是对于高维数组 xff0c 如果指定了某个轴
  • Cortex-M3 (NXP LPC1788)之EEPROM存储器

    EEPROM是一种非易失性存储器 xff0c 主要用于存储相对少量的数据 xff0c 如存储一些系统的配置信息 通过系统的EEPROM控制模块可以轻松的进行EERPOM的存储控制 要正确使用EEPROM需要配置掉电寄存器EEPWRDWN确定
  • sqlalchemy.exc.ArgumentError: Could not parse rfc1738 URL from string

    错误信息 sqlalchemy exc ArgumentError Could not parse rfc1738 URL from string 原 flask sqlacodegen mysql root 64 127 0 0 1 fo
  • 面试题汇总:网络编程

    1 tcp和udp的区别 xff1f xff08 1 xff09 TCP面向连接 xff08 如打电话要先拨号建立连接 xff09 UDP是无连接的 xff0c 即发送数据之前不需要建立连接 xff1b xff08 2 xff09 TCP提
  • CentOS7 安装学之思开源考试系统Mysql版

    环境介绍 序号项目版本1操作系统CentOS Linux release 7 9 2009 Core 2redis7 0 03Mysqlmysql Ver 8 0 29 for Linux on x86 64 MySQL Community
  • Cisco catalyst 交换机升级步骤

    交换机升级步骤 1 准备一个FAT32的U盘 2 到cisco官网上下载交换机镜像 3 将U盘插到交换机上 xff0c 登入交换机concole输入dir usbflash0 xff1a 找到该镜像 xff0c 注意镜像不要放在中文目录下
  • 【性能】【内存】zram解读

    1 背景 nbsp 通过压缩长时间不在前台的进程来节省内存占用 不会像swap一样频繁操作闪存 也可以减少IO操作节省资源 延长闪存寿命 不过内存压缩是一种用时间换空间 的方式 cpu解压缩过程也是需要消耗少量cpu资源 尽管当前andro
  • wifi连接过程抓包

    下面是一次wifi连接过程发送数据的抓包 xff0c 有些包没抓到 xff0c 但还是比较全的 1 4包 xff0c 探测请求 响应过程 STA发出探测请求包Probe ReqAP做出回应 xff0c 发出探测响应包Probe Rsp 5
  • mbedtls学习(6)RSA算法

    RSA算法 RSA算法是一种非对称加密算法 xff0c 特点时加密解密算法不同且加密解密密钥不同 xff0c 即一般公钥加密 xff0c 私钥解密 下面时RSA算法关键参数 n 模数 xff0c 位长度为1024比特或者2048比特e 公开
  • LVGL lv_label标签控件(5)

    lv label 相关API在lv label h中 文本模式 span class token keyword enum span span class token punctuation span span class token co
  • LVGL lv_page页面控件(23)

    lv page 页面控件 xff0c 是由2个lv cont容器控件构成 xff0c 其中一个容器作为lv page页面控件的背景层 xff0c 另一个容器作为lv page页面控件的载体 xff0c 此载体存放其他任何子对象 xff0c
  • FreeRTOS消息队列、信号量、互斥量、递归互斥量实现步骤

    文章目录 消息队列消息队列结构读队列步骤写队列步骤 作用 信号量信号量结构 获取信号量释放信号量 互斥量 xff08 锁 xff09 互斥量结构 获取互斥量释放互斥量 递归互斥量 xff08 递归锁 xff09 获取递归互斥量释放递归互斥量
  • GDB调试宏

    参考 GDB需要调试宏只需用 g3选项编译 g 默认选项 xff0c 同 g2 g0 不生成任何调试信息 xff0c 和编译时不加 g 是一样的 g1 生成最少量的调试信息 xff0c 这些信息足够用来通过backtrace查看调用栈符号信
  • GDB格式化打印结构体

    参考 GDB pretty print set print pretty on GDB 打印数组索引 set print array span class token operator span indexes on 例子 span cla

随机推荐

  • 8080接口

    文章目录 简介引脚写时序读时序 简介 8080接口是由英特尔设计 xff0c 是一种并行 异步 半双工通信协议 xff0c 作用是用于外扩RAM ROM xff0c 后面也用于LCD接口 引脚 写时序 先拉低选中器件 xff0c 如果要写入
  • Centos 7离线安装最新版mysql

    测试环境 CentOS Linux release 7 9 2009 Core 1 准备工作 下载离线安装包 xff1a 1 1 浏览器打开地址 xff1a https dev mysql com downloads mysql 1 2 选
  • C语言UDP socket编程

    C语言UDP socket编程 UDP 服务器步骤如下 xff1a 1 创建等链接套接字fd 61 socket 2 绑定待链接套接字bind fd 服务器ip和端口 3 等待信息recvfrom fd 对端地址 UDP 客户端步骤如下 x
  • MQTT学习笔记(4)报文分析之PUBLISH

    PUBLISH xff08 发布消息 xff09 含义 xff1a 客户端到服务端或者服务端到客户端发布消息控制报文 xff0c 是双向的 一 固定报头 DUP 重发标志 当DUP被设置为0 xff0c 表示客户端或者服务器是第一次发送这个
  • MQTT学习笔记(6)搭建本地MQTT服务器

    目前主流的Broker有以下3个 xff1a Mosquitto xff1a https mosquitto org VerneMQ xff1a https vernemq com EMQTT xff1a http emqtt io 我们使
  • nrf52832学习笔记(4)修改蓝牙名称,掉电不丢失

    这篇主要介绍如何在手机端修改设备参数 xff0c 比如设备名称 且实现掉电不丢失 思路 xff1a 把需要修改的参数发送给设备 xff0c 设备根据uuid来分辨是参数 xff0c 并保存在flash中 xff0c 重启服务 xff0c 这
  • IIC协议总结

    这篇总结下IIC协议 简介 IIC xff0c Inter Integrated Circuit xff0c 集成电路总线 xff0c 需要2根线连接拓扑 xff0c 是半双工 xff0c 适用于 34 字节型 34 设备 特点 拓扑如下
  • ros+gazebo学习(持续更新)

    由于实习需要 xff0c 开始学习ROS的东西 这篇博客主要是记录在ROS 43 gazebo学习中遇到的各种坑 xff08 掩面 xff09 xff0c 希望能对一些也在该领域的同志提供一点小小帮助 安装问题 xff08 gazebo 4
  • TX2 ubuntu18.04 arm64架构 桌面系统为lxde 系统为轻量级 成功安装ros

    如标题所述 xff1a 硬件采用 xff1a TX2 ubuntu18 04 arm64架构 桌面系统为lxde 来安装ros xff0c 安装了两次都意外失败了 xff0c 后来终于找到了问题 在ros wiki 官网 xff08 htt
  • 解决NVIDIA jetson NX 板卡安装镜像之后,SD卡容量变小的问题

    解决NVIDIA jetson NX 板卡安装镜像之后 xff0c SD卡容量变小的问题 问题描述 xff1a 本人使用的SD卡为64G xff0c 安装了一个约30g的 img镜像 xff0c 之后插入NX板卡 xff0c 系统正常启动
  • USB接线定义和链接摄像头

    原文链接 xff1a https www cnblogs com chinalantian articles 2131361 html 写本文的意义在于了解USB的接线定义和实现使用手机数据线读取摄像头图像 USB接口定义 颜色 一般的排列
  • C语言 VC6.0控制台编写一个贪吃蛇游戏

    最近看到有人发布贪吃蛇的编码实现 xff0c 想到了自己多年之前也实现过一个 xff0c 发布在这里 xff0c 做一下回忆 C语言面向过程编码 xff0c 基本功能实现以函数为单位 xff0c 重点就是各个函数的设计和实现 本篇使用VC6
  • 笔记本外接键盘解决方案:禁用笔记本自带键盘

    适用场景 xff1a 笔记本外接键盘时 xff0c 有时会将外接键盘放置在笔记本自带键盘上 xff0c 加上现代笔记本设计轻薄 xff0c 外接键盘 xff08 尤其是108键的 xff09 在使用过程中经常触碰自带键盘 xff0c 禁用自
  • ROS节点解析GPS数据:GPRMC/GPFDP/HEADINGA

    数据解析 xff0c 肯定是要知道数据格式的 xff1a 数据格式参考 xff1a xff08 前人已经总结的比较齐全了 xff09 https blog csdn net u010384390 article details 784320
  • Java实现天猫精灵与智能设备的对接

    天猫精灵与公司智能设备的对接 刚接到这个任务的时候对于一个刚毕业一个月的应届生我来说 xff0c 有点像巨石 xff0c 不过经历了10多天的自己琢磨 xff0c 还是终于把这个新东西搞出来了 楼主是学的java xff0c 但在查询相关文
  • ESP8266 最小系统硬件原理图

    本博客是主要写的是用ESP8266作为主控 xff0c 搭建最小系统 xff0c 采用的是立创EDA进行原理图绘制 有些部分还没完善 xff0c 需要继续努力 xff0c 具体如下 1 主控ESP8266 2 复位电路 xff08 按键复位
  • g2o学习

    g2o学习参考资料 1 深入理解图优化与g2o xff1a 图优化篇 https www cnblogs com gaoxiang12 p 5244828 html https www cnblogs com gaoxiang12 p 53
  • 【Linux---NX】Jetson Xavier NX基于虚拟机进行系统安装及迁移

    Jetson Xavier NX基于虚拟机进行系统安装及硬盘迁移 一 准备工具二 操作步骤2 1 虚拟机系统安装及虚拟机设置2 2 Nvidia SDK Manager2 3 SDK Manager配置2 4 开始刷机2 5 Xavier
  • [Linux专题笔记]ubuntu 中文显示乱码

    安装使用 zsh 终端中中文乱码 解决方法 span class token function vim span zshrc 添加如下命令 span class token builtin class name export span sp
  • Casdoor:支持 OAuth 2.0、OIDC 和 SAML 的 UI 优先集中式身份验证/单点登录 (SSO) 平台,与 Casbin RBAC 和 ABAC 权限管理集成

    开源地址 xff1a https github com casdoor casdoor 文档 xff1a Casdoor DOC 在线demo xff1a Casdoor Casdoor 目前作为 Casbin 社区项目统一使用的鉴权平台