八个开源免费单点登录(SSO)系统
创始人
2025-07-06 01:31:01
0

单点登录(SSO)是一个登录服务层,通过一次登录访问多个应用。使用SSO服务可以提高多系统使用的用户体验和安全性,用户不必记忆多个密码、不必多次登录浪费时间。

下面推荐一些市场上最好的开源SSO系统,可作为商业SSO替代。

1.Authelia

https://github.com/authelia/authelia

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

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

下图是Authelia的登录页面:

开发语言:Go、TypeScript、Html

2.Keycloak

https://www.keycloak.org/

https://github.com/keycloak/keycloak

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

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

另外,如果基于角色的授权不能满足需求,Keycloak还提供了细粒度的授权服务。这允许您从Keycloak管理控制台管理所有服务的权限,您可以准确地定义您所需的授权策略。

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

开发语言:Java、TypeScript、Html

3.Apereo CAS

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等进行身份验证。

系统架构如下图所示:

开发语言:Java(Spring/Spring Cloud)、Html

4.IdentityServer

https://github.com/IdentityServer

IdentityServer是一个完整的IAM(身份和访问管理系统解决方案),它基于OpenID Connect和ASP.NET Core开发,支持OAuth 2.0。通过API提供SSO服务。适合使用.Net技术的开发人员。

开发语言:C#、JavaScript、Html

5.Jasny SSO

 https://github.com/jasny/sso

Jasny SSO是一个轻量级的PHP SSO 项目。它由三部分组成:客户端、代理和服务端。它可以安装并集成到任何PHP项目中。

开发语言:PHP

6.OpenAM

https://github.com/OpenIdentityPlatform/OpenAM

OpenAM是一个具有SSO功能的全功能IAM系统,它具有SSO、身份验证、授权、身份联合和友好的API。

它支持CDSSO(跨域单点登录),SAML 2.0,OAuth 2.0和OpenID Connect等协议。

开发语言:Java、TypeScript、Html

部署环境:linux、window、mac、Docker

7.S.S.Octopus  

https://github.com/buzzfeed/sso

S.S.Octopus又名sso或者 aka octoboi,是一种用于保护内部服务的单点登录解决方案。它是Buzzfeed下的一个开源SSO项目。它是用Go编写的,可以编译成二进制文件安装,或者Docker安装。

开发语言:Go

8.ORY Hydra

https://github.com/ory/hydra

ORY Hydra是一个开源的SSO项目,支持OpenID、OpenID Connect和OAuth2.0协议,ORY Hydra是ORY IAM生态系统的一部分。ORY IAM生态包含一系列用于构建IAM系统的子项目,并且这些项目都是开源的。

基于ORY Hydra、Vapor 3的iOS应用案例,架构如下图所示:

开发语言:Go

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...