单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统(例如淘宝、天猫、支付宝、阿里巴巴之间的关系)。简而言之,多个系统,统一登陆。

单点登录主要强调的是登录以后,各个系统间数据共享问题。


统一认证授权方式实现单点登录SSO

在日常生活中,很多人由于忘记某些网站的登录密码而烦恼,因为大多数用户都要记忆不少于10个用户名和相应密码。为了便于记忆,很多人都在不同的站点使用相同的用户名和密码,虽然这样可以减少负担,但是同时也降低了安全性,而且使用不同的站点同样要进行多次登录。同时,随着信息化飞速发展,大型企业和政府部门等都开始使用电子系统进行办公,而且整个办公系统由多个不同的子系统构成,这个时候有一个SSO 单点登录就显得尤为重要了。


阿里云ram单点登录架构图

用户只需要登录一次,就可以访问多个系统,不需要记忆多个口令密码。单点登录使用户可以快速访问网络,从而提高工作效率,同时也能帮助提高系统的安全性。


云sso实现多账号单点登录

使用单点登录SSO的好处具体如下:

  • 方便用户:用户使用应用系统时,能够一次登录,多次使用。用户不再需要每次输入用户名称和用户密码,也不需要牢记多套用户名称和用户密码。单点登录平台能够改善用户使用应用系统的体验。

  • 方便管理员:系统管理员只需要维护一套统一的用户账号,方便、简单。相比之下,系统管理员以前需要管理很多套的用户账号。每一个应用系统就有一套用户账号,不仅给管理上带来不方便,而且,也容易出现管理漏洞。

  • 简化应用系统开发: 开发新的应用系统时,可以直接使用单点登录平台的用户认证服务,简化开发流程。单点登录平台通过提供统一的认证平台,实现单点登录。因此,应用系统并不需要开发用户认证程序。

借此机会,今天小编给大家推荐13个开源免费单点登录SSO系统,希望对粉丝们有所帮助。祝粉丝们的每一个梦想都能放飞,每一个心愿都能实现,祝福大家万事如意!下面小编一一详细介绍这13个开源免费单点登录SSO系统,喜欢的小伙伴们点个赞和收藏。

全文大纲

  1. sa-token - 一个轻量级 Java 权限认证框架,让鉴权变得简单、优雅!

  2. authelia - 是一个免费、开源、可私有化部署的单点登录(SSO)项目

  3. BootstrapAdmin - 基于 RBAC 的 Net7 后台管理框架,权限管理,前后台分离,支持多站点单点登录,兼容所有主流浏览器

  4. JustAuth - 如你所见,它仅仅是一个第三方授权登录工具类库

  5. MaxKey - 单点登录认证系统

  6. jap - 一款开源的登录认证中间件,基于模块化设计,为所有需要登录认证的web应用提供一套标准的技术解决方案

  7. eiam - 数字身份管控平台

  8. CollectiveOAuth - 史上最全的整合第三方登录的开源库

  9. Netnr.Login - 第三方 OAuth2 授权登录管理

  10. keycloak - 是一个免费、开源身份认证和访问管理系统

  11. SD.IdentitySystem - 统一身份认证/权限管理/角色管理/菜单管理/SSO/License授权

  12. IdentityServer4 - 基于.NET 5+IdentityServer4+Vue+Sqlserver 的统一授权认证系统

  13. cas - 是一个开源的企业级单点登录系统

sa-token - 一个轻量级 Java 权限认证框架,让鉴权变得简单、优雅!

Github:github.com/dromara/sa-t





介绍

Sa-Token 是一个轻量级 Java 权限认证框架,让鉴权变得简单、优雅!主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权 等一系列权限相关问题。

功能模块

Sa-Token 目前主要五大功能模块:登录认证、权限认证、单点登录、OAuth2.0、微服务鉴权。

  • 登录认证 —— 单端登录、多端登录、同端互斥登录、七天内免登录

  • 权限认证 —— 权限认证、角色认证、会话二级认证

  • Session会话 —— 全端共享Session、单端独享Session、自定义Session

  • 踢人下线 —— 根据账号id踢人下线、根据Token值踢人下线

  • 账号封禁 —— 登录封禁、按照业务分类封禁、按照处罚阶梯封禁

  • 持久层扩展 —— 可集成Redis、Memcached等专业缓存中间件,重启数据不丢失

  • 分布式会话 —— 提供jwt集成、共享数据中心两种分布式会话方案

  • 微服务网关鉴权 —— 适配Gateway、ShenYu、Zuul等常见网关的路由拦截认证

  • 单点登录 —— 内置三种单点登录模式:无论是否跨域、是否共享Redis,都可以搞定

  • OAuth2.0认证 —— 轻松搭建 OAuth2.0 服务,支持openid模式

  • 二级认证 —— 在已登录的基础上再次认证,保证安全性

  • Basic认证 —— 一行代码接入 Http Basic 认证

  • 独立Redis —— 将权限缓存与业务缓存分离

  • 临时Token认证 —— 解决短时间的Token授权问题

  • 模拟他人账号 —— 实时操作任意用户状态数据

  • 临时身份切换 —— 将会话身份临时切换为其它账号

  • 前后台分离 —— APP、小程序等不支持Cookie的终端

  • 同端互斥登录 —— 像QQ一样手机电脑同时在线,但是两个手机上互斥登录

  • 多账号认证体系 —— 比如一个商城项目的user表和admin表分开鉴权

  • Token风格定制 —— 内置六种Token风格,还可:自定义Token生成策略、自定义Token前缀

  • 注解式鉴权 —— 优雅的将鉴权与业务代码分离

  • 路由拦截式鉴权 —— 根据路由拦截鉴权,可适配restful模式

  • 自动续签 —— 提供两种Token过期策略,灵活搭配使用,还可自动续签

  • 会话治理 —— 提供方便灵活的会话查询接口

  • 记住我模式 —— 适配[记住我]模式,重启浏览器免验证

  • 密码加密 —— 提供密码加密模块,可快速MD5、SHA1、SHA256、AES、RSA加密

  • 全局侦听器 —— 在用户登陆、注销、被踢下线等关键性操作时进行一些AOP操作

  • 开箱即用 —— 提供SpringMVC、WebFlux等常见web框架starter集成包,真正的开箱即用


Sa-Token 功能结构图

authelia - 是一个免费、开源、可私有化部署的单点登录(SSO)项目

Github:github.com/authelia/aut





介绍

Authelia是一个免费、开源、可私有化部署的单点登录(SSO)项目。它具有时尚的登录窗口,支持一次性密码设置、通知推送等功能。

Authelia可以独立安装,或者使用Docker、Kubernetes容器部署。

Authelia 架构图



Authelia 架构图

Authelia 登录案例截图




BootstrapAdmin - 基于 RBAC 的 Net7 后台管理框架,权限管理,前后台分离,支持多站点单点登录,兼容所有主流浏览器

Github:github.com/ArgoZhang/Bo




介绍

一直需要一款后台管理系统,但是网上很多开源项目都是 Java 开发的,本人是 NET 平台的对 Java 一窍不通,C#版本的本来就少而且还没有合适的。于是决定自己开发一套后台管理系统。由于前台采用 Bootstrap 布局样式,所以就叫做 BootstrapAdmin 。

本系统可以用于所有的 Web 应用程序,目前版本已经升级到 NET CORE 具备跨平台能力。数据库方面同时支持多种数据库,详细列表见后面数据库的详细列表,切换数据源仅需更改配置文件无需重启应用程序,配置简单灵活。

UI 前端使用流行的 Bootstrap 框架布局对移动设备的兼容性非常好,自适应目前市场几乎所有终端设备。本系统还具备单一后台支持多前台的特色,提供 单点登录(SSO) 的能力。

使用 NET Core + Bootstrap + PetaPoco + HTML 5 + jQuery 构建的后台管理平台

基于 RBAC 的 Net7 后台管理框架,权限管理,前后台分离,支持多站点单点登录,兼容所有主流浏览器,内置微信、支付宝、QQ等多种登录方式,内置多种样式,可切换至 Blazor 多 Tabs 模式,权限控制细化到网页内任意元素(按钮、表格、文本框等等)

主要功能

  • 通过配置与前台网站集成

  • 构建前台系统分层级菜单

  • 提供单一后台支持多前台应用配置

  • 提供单点登录

  • 集成系统认证授权模块

  • 提供角色,部门,用户,菜单,前台应用程序授权
    角色对用户授权角色对菜单授权角色对部门授权角色对应用程序授权(多个前台应用共用一个后台权限管理系统)部门对用户授权

  • 提供字典表用于前台网站个性化配置

  • 完全响应式布局(支持电脑、平板、手机等所有主流设备)

  • 内置多数据源支持,配置简单立即生效无需重启

  • 内置数据内存缓存机制,页面快速响应

  • 内置数据 操作日志 与用户 登录日志
    跟踪记录用户 登录主机地点浏览器操作系统 信息

优势

  • 前台系统不用编写登录、授权、认证模块;只负责编写业务模块即可

  • 后台系统无需任何二次开发,直接发布即可使用

  • 前台与后台系统分离,分别为不同的系统(域名可独立)

  • 可扩展为多租户应用

系统截图

















JustAuth - 如你所见,它仅仅是一个第三方授权登录的工具类库

Github:github.com/justauth/Jus



介绍

小而全而美的第三方登录开源组件。目前已支持Github、Gitee、微博、钉钉、百度、Coding、腾讯云开发者平台、OSChina、支付宝、QQ、微信、淘宝、Google、Facebook、抖音、领英、小米、微软、今日头条、Teambition、StackOverflow、Pinterest、人人、华为、企业微信、酷家乐、Gitlab、美团、饿了么、推特、飞书、京东、阿里云、喜马拉雅、Amazon、Slack和 Line 等第三方平台的授权登录。

OAuth 2 流程


OAuth 2 流程

JustAuth 集成第三方登录


JustAuth

MaxKey - 单点登录认证系统

Github:github.com/dromara/MaxK



介绍

MaxKey单点登录认证系统是业界领先的IAM-IDaas身份管理和认证产品,支持OAuth2.x、OpenID Connect、SAML2.0、JWT、CAS、SCIM等SSO标准协议,基于RBAC统一权限控制,实现用户生命周期管理,开源、安全、自主可控。

产品特性

  • 标准协议


序号协议支持
1.1OAuth 2.x/OpenID Connect
1.2SAML 2.0
1.3JWT
1.4CAS
1.5SCIM 2.0
1.6FormBased
1.7TokenBased(Post/Cookie)
1.8ExtendApi
1.9EXT


  • 登录支持


序号登录方式支持
2.1动态验证码字母/数字/算术
2.2双因素认证短信/时间令牌/邮件
2.3短信认证腾讯云短信/阿里云短信/网易云信
2.4时间令牌Google/Microsoft Authenticator/FreeOTP/支持TOTP或者HOTP
2.5域认证Kerberos/SPNEGO/AD域
2.6LDAPOpenLDAP/ActiveDirectory/标准LDAP服务器
2.7社交账号微信/QQ/微博/钉钉/Google/Facebook/其他
2.8扫码登录企业微信/钉钉/飞书扫码登录


  • 提供标准的认证接口以便于其他应用集成SSO,安全的移动接入,安全的API、第三方认证和互联网认证的整合。

  • 简化微软Active Directory域控、标准LDAP服务器机构和账号管理,密码自助服务重置密码。

  • IDaas多租户功能,支持集团下多企业独立管理或企业下不同部门数据隔离的,降低运维成本。

  • 认证中心具有平台无关性、环境多样性,支持Web、手机、移动设备等, 如Apple iOS,Andriod等,将认证能力从B/S到移动应用全面覆盖。

  • 配置化的密码策略、访问策略;支持Ip2region或GeoLite2地理库精准IP定位 ,强大安全审计,对用户全生命周期审计、访问行为记录追溯审计、安全合规审计、安全风险预警。

  • 基于Java EE平台,微服务架构,采用Spring、MySQL、Tomcat、Redis、MQ等开源技术,扩展性强。

  • 开源、安全、自主可控。

系统截图









jap - 一款开源的登录认证中间件,基于模块化设计,为所有需要登录认证的web应用提供一套标准的技术解决方案

Github:github.com/fujieid/jap



介绍

JustAuthPlus(以下简称"JAP")是一款开源的登录认证中间件,基于模块化设计,为所有需要登录认证的 WEB 应用提供一套标准的技术解决方案,开发者可以基于 JAP 适配绝大多数的 WEB 系统(自有系统、联邦协议),就像集成 JustAuth 一样,简单方便。

特性

  • 易用性:JAP 的 API 沿袭 JustAuth 的简单性,做到了开箱即用的程度。JAP 高度抽象各种登录场景,提供了多套简单实用的 API,极大程度的降低了开发者的学习成本和使用成本

  • 全面性:JAP 全量适配 JustAuth 支持的第三方平台,实现第三方登录。同时也支持所有基于标准OAuth2.0 协议或者 OIDC 协议或者 SAML 协议的应用、系统,同时 JAP 还提供不同语言版本的项目 SDK,适配多种研发场景

  • 模块化:JAP 基于模块化设计开发,针对每一种登录场景,比如账号密码、OAuth、OIDC等,都单独提供了独有的模块化解决方案

  • 标准化:JAP 和业务完全解耦,将登录认证相关的逻辑抽象出一套标准的技术解决方案,针对每一种业务场景,比如用户登录、验证密码、创建并绑定第三方系统的账号等,都提供了一套标准的策略或者接口,开发者可以基于 JAP,灵活并方便的完成相关业务逻辑的开发和适配

  • 通用性:JAP 不仅可以用到第三方登录、OAuth授权、OIDC认证等业务场景,还能适配开发者现有的业务系统的普通账号密码的登录场景,基本将所有登录相关的业务场景都已经涵盖。针对 WEB 应用,JAP 将提供满足各种不同登录场景的解决方案(和开发语言无关)

功能介绍



应用场景

  • 标准规范:新项目立项,你们需要研发一套包含登录、认证的系统,并且需要一套标准的、灵活的、功能全面的登录认证功能。

  • 需求灵活:现有登录模块为自研,但是新一轮的技术规划中,你们想将登录认证模块重构,以更加灵活的架构适应后面的新需求,比如:集成 MFA 登录、集成 OAuth 登录、SAML登录等。

  • 力求省事:你们的项目太多(或者是开发语言较多,比如:Java、Python、Node 等),每个项目都需要登录认证模块,想解决这种重复劳动的问题,使研发人员有更多的时间和精力投入到业务开发中,提高研发产能和研发效率

eiam - 数字身份管控平台

Github:github.com/topiam/eiam



介绍

业界首个基于 SpringBoot3 开源IDaas/IAM平台,用于管理企业内员工账号、权限、身份认证、应用访问,帮助整合部署在本地或云端的内部办公系统、业务系统及三方 SaaS 系统的所有身份,实现一个账号打通所有应用的服务。支持OAuth2.x、OIDC、SAML2.0、JWT、CAS等SSO标准协议。

系统架构



核心特性

  • 提供统一组织信息管理,多维度建立对应关系,实现在一个平台对企业人员、组织架构、应用信息的高效统一管理。

  • 支持钉钉、飞书、企业微信等身份源集成能力,实现系统和企业OA平台数据联动,以用户为管理基点,结合入职、离职、调岗、兼职等人事事件,关联其相关应用权限变化而变化,保证应用访问权限的安全控制。

  • 支持多因素认证,行为验证码、社交认证,融合认证等机制,保证用户认证安全可靠。

  • 支持微信、微博、QQ等社交认证集成,使企业具有快速纳入互联网化认证能力。

  • 支持 SAML2,OAuth2,OIDC,CAS,表单代填等认证协议及机制,实现单点登录功能,预配置大量 SaaS 应用及传统应用模板,开箱即用。

  • 完善的安全审计,详尽记录每一次用户行为,使每一步操作有据可循,实时记录企业信息安全状况,精准识别企业异常访问和潜在威胁的源头。

  • 提供标准REST和SCIM2.0接口轻松完成机构用户同步,实现企业对于账号生命周期的精细化管理。

  • 开源、安全、自主可控。




功能描述


功能模块功能项功能描述
账户管理组织与用户支持组织与用户维护。

用户组管理支持用户组维护。

身份源管理支持通过钉钉、飞书等途径同步用户和组织信息到系统。
认证管理认证提供商支持配置多种认证源,用户可通过不同方式登录门户。
应用管理OIDC协议应用支持通过OIDC协议进行应用SSO。

表单代填应用支持表单代填方式进行应用SSO。

JWT协议应用支持JWT协议进行应用SSO。
行为审计用户行为记录企业用户相关操作行为记录。

管理员行为记录管理员相关操作记录。
安全设置通用安全支持通用安全配置,及安全防御策略。

密码策略支持配置用户密码全局规则策略。

系统管理员负责维护系统用户配置等。
系统设置消息设置支持配置维护邮件模版、邮件服务、短信服务。

IP地理库支持配置IP地理库,实现精准IP定位。

存储配置支持配置云存储服务,如阿里云、腾讯云、MinIO等。
系统监控会话管理支持查看系统登录会话,支持回话下线。


CollectiveOAuth - 史上最全的整合第三方登录的开源库

Gitee:gitee.com/rthinking/Col



介绍

.Net平台(C#) 史上最全的整合第三方登录的开源库 => 环境支持 .NET Framework 4.5 ~ 4.6.2 和 .NetCore 3.1。目前已包含Github、Gitee、钉钉、百度、支付宝、微信、企业微信、腾讯云开发者平台(Coding)、OSChina、微博、QQ、Google、Facebook、抖音、领英、小米、微软、今日头条、Teambition、StackOverflow、Pinterest、人人、华为、酷家乐、Gitlab、美团、饿了么、等第三方平台的授权登录。以下平台正在接入中: 推特、淘宝

Netnr.Login - 第三方 OAuth2 授权登录管理

Gitee:gitee.com/netnr/Netnr.L




介绍

第三方 OAuth2 授权登录,QQ、微信开放平台(Weixin)、微信公众平台(WeixinMP)、微博(Weibo)、淘宝(Taobao)、支付宝(Alipay)、钉钉(DingTalk)、飞书(Feishu)、码云(Gitee)、GitHub、微软(Microsoft )、StackOverflow、谷歌(Google)

keycloak - 是一个免费、开源身份认证和访问管理系统

Github:github.com/keycloak/key




介绍

Keycloak是一个免费、开源身份认证和访问管理系统,支持高度可配置的单点登录(SSO)功能。

Keycloak内置支持连接到现有的LDAP或Active Directory服务器。也可以自己实现与关系数据库中的用户数据对接。

Keycloak支持许多目前比较流行认证标准协议,如:OpenID Connect,OAuth 2.0、SAML 2.0等。



SD.IdentitySystem - 统一身份认证/权限管理/角色管理/菜单管理/SSO/License授权

Gitee:gitee.com/lishilei0523/



介绍


ASP.NET/WCF/Windows/Ang统一身份认证/权限管理/角色管理/菜单管理/SSO/License授权

目的

  • 作为一个使用SD.Framework框架开发的项目样板;

  • 探索基于ASP.NET Core MVC的前端架构;

  • 探索基于WPF MVVM的前端架构;

  • 探索Angular + NG-ZORRO前端架构;

  • 做一套统一身份认证系统;

系统截图













IdentityServer4 - 基于.NET 5+IdentityServer4+Vue+Sqlserver 的统一授权认证系统

Gitee :gitee.com/wangqianlong1



介绍

在学习授权认证的过程中,发现了IdentityServer4框架。官方的例程大多是基于本地或者内存配置。没有一个完整的后台界面。github上有一些优秀的管理系统,大多都是基于MPA开发。于是基于.NET5和vue开发了这一套授权管理系统。

系统截图



cas - 是一个开源的企业级单点登录系统

Github:github.com/apereo/cas




介绍

Apereo CAS是一个开源的企业级单点登录系统,是CAS项目的一部分。

Apereo CAS开箱即用,并且提供多种协议支持,如:CAS(v1,v2和v3)、SAML(1.0和2.0)、OAuth(v2)、OpenID、OpenID Connect等。

Apereo CAS支持使用多种身份证方法,包括:JAAS、LDAP、RDBMS、Radius、JWT等。

Apereo CAS支持通过Due、YubiKey、RSA、Google Authenticator、U2F、WebAuten等进行身份验证。

架构图



标签: none

添加新评论