大家好,欢迎来到IT知识分享网。
大家好,我是Echa。
单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统(例如淘宝、天猫、支付宝、阿里巴巴之间的关系)。简而言之,多个系统,统一登陆。
单点登录主要强调的是登录以后,各个系统间数据共享问题。
在日常生活中,很多人由于忘记某些网站的登录密码而烦恼,因为大多数用户都要记忆不少于10个用户名和相应密码。为了便于记忆,很多人都在不同的站点使用相同的用户名和密码,虽然这样可以减少负担,但是同时也降低了安全性,而且使用不同的站点同样要进行多次登录。同时,随着信息化飞速发展,大型企业和政府部门等都开始使用电子系统进行办公,而且整个办公系统由多个不同的子系统构成,这个时候有一个SSO 单点登录就显得尤为重要了。
用户只需要登录一次,就可以访问多个系统,不需要记忆多个口令密码。单点登录使用户可以快速访问网络,从而提高工作效率,同时也能帮助提高系统的安全性。
使用单点登录SSO的好处具体如下:
- 方便用户:用户使用应用系统时,能够一次登录,多次使用。用户不再需要每次输入用户名称和用户密码,也不需要牢记多套用户名称和用户密码。单点登录平台能够改善用户使用应用系统的体验。
- 方便管理员:系统管理员只需要维护一套统一的用户账号,方便、简单。相比之下,系统管理员以前需要管理很多套的用户账号。每一个应用系统就有一套用户账号,不仅给管理上带来不方便,而且,也容易出现管理漏洞。
- 简化应用系统开发: 开发新的应用系统时,可以直接使用单点登录平台的用户认证服务,简化开发流程。单点登录平台通过提供统一的认证平台,实现单点登录。因此,应用系统并不需要开发用户认证程序。
借此机会,今天小编给大家推荐13个开源免费单点登录SSO系统,希望对粉丝们有所帮助。祝粉丝们的每一个梦想都能放飞,每一个心愿都能实现,祝福大家万事如意!下面小编一一详细介绍这13个开源免费单点登录SSO系统,喜欢的小伙伴们点个赞和收藏。
全文大纲
- sa-token – 一个轻量级 Java 权限认证框架,让鉴权变得简单、优雅!
- authelia – 是一个免费、开源、可私有化部署的单点登录(SSO)项目
- BootstrapAdmin – 基于 RBAC 的 Net7 后台管理框架,权限管理,前后台分离,支持多站点单点登录,兼容所有主流浏览器
- JustAuth – 如你所见,它仅仅是一个第三方授权登录的工具类库
- MaxKey – 单点登录认证系统
- jap – 一款开源的登录认证中间件,基于模块化设计,为所有需要登录认证的web应用提供一套标准的技术解决方案
- eiam – 数字身份管控平台
- CollectiveOAuth – 史上最全的整合第三方登录的开源库
- Netnr.Login – 第三方 OAuth2 授权登录管理
- keycloak – 是一个免费、开源身份认证和访问管理系统
- SD.IdentitySystem – 统一身份认证/权限管理/角色管理/菜单管理/SSO/License授权
- IdentityServer4 – 基于.NET 5+IdentityServer4+Vue+Sqlserver 的统一授权认证系统
- cas – 是一个开源的企业级单点登录系统
sa-token – 一个轻量级 Java 权限认证框架,让鉴权变得简单、优雅!
Github:https://github.com/dromara/sa-token
介绍
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的终端
- 同端互斥登录 —— 像一样手机电脑同时在线,但是两个手机上互斥登录
- 多账号认证体系 —— 比如一个商城项目的user表和admin表分开鉴权
- Token风格定制 —— 内置六种Token风格,还可:自定义Token生成策略、自定义Token前缀
- 注解式鉴权 —— 优雅的将鉴权与业务代码分离
- 路由拦截式鉴权 —— 根据路由拦截鉴权,可适配restful模式
- 自动续签 —— 提供两种Token过期策略,灵活搭配使用,还可自动续签
- 会话治理 —— 提供方便灵活的会话查询接口
- 记住我模式 —— 适配[记住我]模式,重启浏览器免验证
- 密码加密 —— 提供密码加密模块,可快速MD5、SHA1、SHA256、AES、RSA加密
- 全局侦听器 —— 在用户登陆、注销、被踢下线等关键性操作时进行一些AOP操作
- 开箱即用 —— 提供SpringMVC、WebFlux等常见web框架starter集成包,真正的开箱即用
authelia – 是一个免费、开源、可私有化部署的单点登录(SSO)项目
Github:https://github.com/authelia/authelia
介绍
Authelia是一个免费、开源、可私有化部署的单点登录(SSO)项目。它具有时尚的登录窗口,支持一次性密码设置、通知推送等功能。
Authelia可以独立安装,或者使用Docker、Kubernetes容器部署。
Authelia 架构图
Authelia 登录案例截图
BootstrapAdmin – 基于 RBAC 的 Net7 后台管理框架,权限管理,前后台分离,支持多站点单点登录,兼容所有主流浏览器
Github:https://github.com/ArgoZhang/BootstrapAdmin
介绍
一直需要一款后台管理系统,但是网上很多开源项目都是 Java 开发的,本人是 NET 平台的对 Java 一窍不通,C#版本的本来就少而且还没有合适的。于是决定自己开发一套后台管理系统。由于前台采用 Bootstrap 布局样式,所以就叫做 BootstrapAdmin 。
本系统可以用于所有的 Web 应用程序,目前版本已经升级到 NET CORE 具备跨平台能力。数据库方面同时支持多种数据库,详细列表见后面数据库的详细列表,切换数据源仅需更改配置文件无需重启应用程序,配置简单灵活。
UI 前端使用流行的 Bootstrap 框架布局对移动设备的兼容性非常好,自适应目前市场几乎所有终端设备。本系统还具备单一后台支持多前台的特色,提供 单点登录(SSO) 的能力。
使用 NET Core + Bootstrap + PetaPoco + HTML 5 + jQuery 构建的后台管理平台
基于 RBAC 的 Net7 后台管理框架,权限管理,前后台分离,支持多站点单点登录,兼容所有主流浏览器,内置微信、支付宝、等多种登录方式,内置多种样式,可切换至 Blazor 多 Tabs 模式,权限控制细化到网页内任意元素(按钮、表格、文本框等等)
主要功能
- 通过配置与前台网站集成
- 构建前台系统分层级菜单
- 提供单一后台支持多前台应用配置
- 提供单点登录
- 集成系统认证授权模块
- 提供角色,部门,用户,菜单,前台应用程序授权
角色对用户授权
角色对菜单授权
角色对部门授权
角色对应用程序授权(多个前台应用共用一个后台权限管理系统)
部门对用户授权 - 提供字典表用于前台网站个性化配置
- 完全响应式布局(支持电脑、平板、手机等所有主流设备)
- 内置多数据源支持,配置简单立即生效无需重启
- 内置数据内存缓存机制,页面快速响应
- 内置数据 操作日志 与用户 登录日志
跟踪记录用户 登录主机地点 浏览器 操作系统 信息
优势
- 前台系统不用编写登录、授权、认证模块;只负责编写业务模块即可
- 后台系统无需任何二次开发,直接发布即可使用
- 前台与后台系统分离,分别为不同的系统(域名可独立)
- 可扩展为多租户应用
系统截图
JustAuth – 如你所见,它仅仅是一个第三方授权登录的工具类库
Github:https://github.com/justauth/JustAuth
介绍
小而全而美的第三方登录开源组件。目前已支持Github、Gitee、微博、钉钉、百度、Coding、腾讯云开发者平台、OSChina、支付宝、、微信、淘宝、Google、Facebook、抖音、领英、小米、微软、今日头条、Teambition、StackOverflow、Pinterest、人人、华为、企业微信、酷家乐、Gitlab、美团、饿了么、推特、飞书、京东、阿里云、喜马拉雅、Amazon、Slack和 Line 等第三方平台的授权登录。
OAuth 2 流程
JustAuth 集成第三方登录
MaxKey – 单点登录认证系统
Github:https://github.com/dromara/MaxKey
介绍
MaxKey单点登录认证系统是业界领先的IAM-IDaas身份管理和认证产品,支持OAuth2.x、OpenID Connect、SAML2.0、JWT、CAS、SCIM等SSO标准协议,基于RBAC统一权限控制,实现用户生命周期管理,开源、安全、自主可控。
产品特性
- 标准协议
序号 |
协议 |
支持 |
1.1 |
OAuth 2.x/OpenID Connect |
高 |
1.2 |
SAML 2.0 |
高 |
1.3 |
JWT |
高 |
1.4 |
CAS |
高 |
1.5 |
SCIM 2.0 |
高 |
1.6 |
FormBased |
中 |
1.7 |
TokenBased(Post/Cookie) |
中 |
1.8 |
ExtendApi |
低 |
1.9 |
EXT |
低 |
- 登录支持
序号 |
登录方式 |
支持 |
2.1 |
动态验证码 |
字母/数字/算术 |
2.2 |
双因素认证 |
短信/时间令牌/邮件 |
2.3 |
短信认证 |
腾讯云短信/阿里云短信/网易云信 |
2.4 |
时间令牌 |
Google/Microsoft Authenticator/FreeOTP/支持TOTP或者HOTP |
2.5 |
域认证 |
Kerberos/SPNEGO/AD域 |
2.6 |
LDAP |
OpenLDAP/ActiveDirectory/标准LDAP服务器 |
2.7 |
社交账号 |
微信//微博/钉钉/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:https://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:https://github.com/topiam/eiam
介绍
业界首个基于 SpringBoot3 开源IDaas/IAM平台,用于管理企业内员工账号、权限、身份认证、应用访问,帮助整合部署在本地或云端的内部办公系统、业务系统及三方 SaaS 系统的所有身份,实现一个账号打通所有应用的服务。支持OAuth2.x、OIDC、SAML2.0、JWT、CAS等SSO标准协议。
系统架构
核心特性
- 提供统一组织信息管理,多维度建立对应关系,实现在一个平台对企业人员、组织架构、应用信息的高效统一管理。
- 支持钉钉、飞书、企业微信等身份源集成能力,实现系统和企业OA平台数据联动,以用户为管理基点,结合入职、离职、调岗、兼职等人事事件,关联其相关应用权限变化而变化,保证应用访问权限的安全控制。
- 支持多因素认证,行为验证码、社交认证,融合认证等机制,保证用户认证安全可靠。
- 支持微信、微博、等社交认证集成,使企业具有快速纳入互联网化认证能力。
- 支持 SAML2,OAuth2,OIDC,CAS,表单代填等认证协议及机制,实现单点登录功能,预配置大量 SaaS 应用及传统应用模板,开箱即用。
- 完善的安全审计,详尽记录每一次用户行为,使每一步操作有据可循,实时记录企业信息安全状况,精准识别企业异常访问和潜在威胁的源头。
- 提供标准REST和SCIM2.0接口轻松完成机构用户同步,实现企业对于账号生命周期的精细化管理。
- 开源、安全、自主可控。
功能描述
功能模块 |
功能项 |
功能描述 |
账户管理 |
组织与用户 |
支持组织与用户维护。 |
用户组管理 |
支持用户组维护。 |
|
身份源管理 |
支持通过钉钉、飞书等途径同步用户和组织信息到系统。 |
|
认证管理 |
认证提供商 |
支持配置多种认证源,用户可通过不同方式登录门户。 |
应用管理 |
OIDC协议应用 |
支持通过OIDC协议进行应用SSO。 |
表单代填应用 |
支持表单代填方式进行应用SSO。 |
|
JWT协议应用 |
支持JWT协议进行应用SSO。 |
|
行为审计 |
用户行为 |
记录企业用户相关操作行为记录。 |
管理员行为 |
记录管理员相关操作记录。 |
|
安全设置 |
通用安全 |
支持通用安全配置,及安全防御策略。 |
密码策略 |
支持配置用户密码全局规则策略。 |
|
系统管理员 |
负责维护系统用户配置等。 |
|
系统设置 |
消息设置 |
支持配置维护邮件模版、邮件服务、短信服务。 |
IP地理库 |
支持配置IP地理库,实现精准IP定位。 |
|
存储配置 |
支持配置云存储服务,如阿里云、腾讯云、MinIO等。 |
|
系统监控 |
会话管理 |
支持查看系统登录会话,支持回话下线。 |
CollectiveOAuth – 史上最全的整合第三方登录的开源库
Gitee:https://gitee.com/rthinking/CollectiveOAuth
介绍
.Net平台(C#) 史上最全的整合第三方登录的开源库 => 环境支持 .NET Framework 4.5 ~ 4.6.2 和 .NetCore 3.1。目前已包含Github、Gitee、钉钉、百度、支付宝、微信、企业微信、腾讯云开发者平台(Coding)、OSChina、微博、、Google、Facebook、抖音、领英、小米、微软、今日头条、Teambition、StackOverflow、Pinterest、人人、华为、酷家乐、Gitlab、美团、饿了么、等第三方平台的授权登录。以下平台正在接入中: 推特、淘宝
Netnr.Login – 第三方 OAuth2 授权登录管理
Gitee:https://gitee.com/netnr/Netnr.Login
介绍
第三方 OAuth2 授权登录,、微信开放平台(Weixin)、微信公众平台(WeixinMP)、微博(Weibo)、淘宝(Taobao)、支付宝(Alipay)、钉钉(DingTalk)、飞书(Feishu)、码云(Gitee)、GitHub、微软(Microsoft )、StackOverflow、谷歌(Google)
keycloak – 是一个免费、开源身份认证和访问管理系统
Github:https://github.com/keycloak/keycloak
介绍
Keycloak是一个免费、开源身份认证和访问管理系统,支持高度可配置的单点登录(SSO)功能。
Keycloak内置支持连接到现有的LDAP或Active Directory服务器。也可以自己实现与关系数据库中的用户数据对接。
Keycloak支持许多目前比较流行认证标准协议,如:OpenID Connect,OAuth 2.0、SAML 2.0等。
SD.IdentitySystem – 统一身份认证/权限管理/角色管理/菜单管理/SSO/License授权
Gitee:https://gitee.com/lishilei0523/SD.IdentitySystem
介绍
ASP.NET/WCF/Windows/Angular/统一身份认证/权限管理/角色管理/菜单管理/SSO/License授权
目的
- 作为一个使用SD.Framework框架开发的项目样板;
- 探索基于ASP.NET Core MVC的前端架构;
- 探索基于WPF MVVM的前端架构;
- 探索Angular + NG-ZORRO前端架构;
- 做一套统一身份认证系统;
系统截图
IdentityServer4 – 基于.NET 5+IdentityServer4+Vue+Sqlserver 的统一授权认证系统
Gitee :https://gitee.com/wangqianlong1993/IdentityServer4
介绍
在学习授权认证的过程中,发现了IdentityServer4框架。官方的例程大多是基于本地或者内存配置。没有一个完整的后台界面。github上有一些优秀的管理系统,大多都是基于MPA开发。于是基于.NET5和vue开发了这一套授权管理系统。
系统截图
cas – 是一个开源的企业级单点登录系统
Github:https://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等进行身份验证。
架构图
最后
一行代码,可能会创造出下一个让人惊叹的产品;
一个创新,可能会开启一个全新的科技时代;
一份初心,可能会影响到无数人的生活;
无论是在大公司工作,还是在小团队奋斗;
无论是资深的程序员,还是刚刚入行的新手;
每个人的代码,都有力量改变世界。
创作不易,喜欢的老铁们加个关注,点个赞,打个赏,后面会不定期更新干货和技术相关的资讯,速速收藏,谢谢!你们的一个小小举动就是对小编的认可,更是创作的动力。
创作文章的初心是:沉淀、分享和利他。既想写给现在的你,也想贪心写给 10 年、20 年后的工程师们,现在的你站在浪潮之巅,面对魔幻的互联网世界,很容易把一条河流看成整片大海。未来的读者已经知道了这段技术的发展历史,但难免会忽略一些细节。如果未来的工程师们真的创造出了时间旅行机器,可以让你回到现在。那么小编的创作就是你和当年工程师们的接头暗号,你能感知到他们在这个时代的键盘上留下的余温。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/52558.html