各种不同语言分别整理的拿来开箱即用的8个开源免费单点登录(SSO)系统

各种不同语言分别整理的拿来开箱即用的8个开源免费单点登录(SSO)系统。

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

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

01 Authelia

https://github.com/authelia/authelia

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

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

开发语言:Go、TypeScript、Html

02 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

03 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

04 IdentityServer

https://github.com/IdentityServer

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

开发语言:C#、JavaScript、Html

05 Jasny SSO

https://github.com/jasny/sso

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

开发语言:PHP

06 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

07 S.S.Octopus

https://github.com/buzzfeed/sso

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

开发语言:Go

08 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

相关推荐
小江的记录本44 分钟前
【Kafka核心】架构模型:Producer、Broker、Consumer、Consumer Group、Topic、Partition、Replica
java·数据库·分布式·后端·搜索引擎·架构·kafka
计算机魔术师3 小时前
【AI面试八股文 Vol.1.3:ReAct】ReAct 不是一种算法,是一种工程契约:从问题域到面试追问的完整映射
开源
Vane14 小时前
五一假期无聊?我用 Rust 手搓了一个并发下载器
开源
该昵称用户已存在6 小时前
从边缘计量到碳足迹追踪:MyEMS 开源一体化架构的全栈拆解
架构·开源
xmdy58666 小时前
Flutter+开源鸿蒙实战|智安盾电商溯源平台Day1 项目搭建与整体方案拆解
flutter·开源·harmonyos
该昵称用户已存在6 小时前
以开源筑基,架构先行——深度拆解 MyEMS 微服务能源管理系统的技术内核
微服务·架构·开源
Hommy888 小时前
【开源剪映小助手】字幕接口
开源·github·aigc·剪映小助手·视频剪辑自动化
身如柳絮随风扬8 小时前
多数据源切换实战:从业务场景到3种实现方案全解析
java·分布式·微服务
AIMath~10 小时前
雪花算法+ZooKeeper解决方案+RPC是什么
分布式·zookeeper·云原生
KmSH8umpK10 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第六篇
数据库·redis·分布式