八个开源免费单点登录(SSO)系统

news2024/12/23 10:06:53

使用SSO服务可以提高多系统使用的用户体验和安全性,用户不必记忆多个密码、不必多次登录浪费时间。下面推荐一些市场上最好的开源SSO系统,可作为商业SSO替代。

单点登录(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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1207428.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

通配符SSL证书

通配符SSL证书是一种特殊的数字证书,用于在互联网上建立安全的连接,其特点是可以保护多个子域名,并且具有很高的兼容性和扩展性。本文将详细介绍通配符SSL证书的相关概念、优点和应用等。 首先,我们需要了解什么是SSL证书。 SSL证…

听我的,日志还是得好好打!

大家好,我是老三,不知道大家有没有经历过这样的场景,线上出了问题,着急火燎地去排查: 唉,问题可能出在这个地方,捞个日志看下,卧槽,怎么找不到……哪个**不打日志&#…

打破语言壁垒,实现全球商贸:多语言多商户跨境商城源码引领电商新潮流

随着全球化的不断深入,电子商务的蓬勃发展,传统的单语言电商模式已经无法满足日益多元化的市场需求。多语言多商户跨境商城源码,一种创新的电商解决方案,应运而生。它打破了语言和地域的限制,让全球的商家和消费者都能…

c语言函数指针 指针函数

指针数组 数组指针 指针数组 数组指针 Int * br[3] {&a,&b,&c}; Int (*pl)[3] &arr; Int a1;int c 2; int c3; Int arr[3] {a,b,c}; Int* br[3] {&a,&b,&c}; Int* br[3] {&a,&b,&c}; //指针数组 Int (*p)[3] &arr…

新品 | 飞凌嵌入式FCU2601工商业储能EMS能量控制单元发布

FCU2601嵌入式控制单元是飞凌嵌入式为锂电池储能行业设计的EMS能量控制单元产品,设计兼具高性能,多接口,低功耗,广泛满足各类储能系统的本地能源管理应用需求。 FCU2601嵌入式控制单元综合考虑到了储能行业不同场景的差异化需求&…

1x1卷积核

1 1 1\times 1 11卷积核对输入数据的通道做约简。 每个 1 1 1\times 1 11卷积核相当于在输入数据的通道上做了一个降维(经过一个神经元个数为1的全连接层),从而相当于大幅度降低了特征图的数量,但不影响特征图的结构。 使用 1 …

双算法SSL证书

国际算法的优势与挑战 1. RSA算法 RSA算法是一种基于大素数分解的非对称加密算法,长期以来一直是SSL证书的主流选择之一。然而,随着计算能力的提高,RSA算法的密钥长度需要不断增加,以维持足够的安全性。 2. ECC算法 椭圆曲线密…

Elasticsearch:检索增强生成 (Retrieval Augmented Generation -RAG)

作者:JOE MCELROY 什么是检索增强生成 (RAG) 以及该技术如何通过提供相关源知识作为上下文来帮助提高 LLMs 生成的响应的质量。 生成式人工智能最近取得了巨大的成功和令人兴奋的成果,其模型可以生成流畅的文本、逼真的图像,甚至视频。 就语…

HelloWorld -从Houdini导出HDA到UE5

1.配置插件 在Houdini安装目录下找到对应版本引擎的插件,例如这里是Houdini19对应UE5.2的版本,我们就要保证先下载好UE5.2: 将Houdini插件粘贴到UE安装目录的Plugins文件夹下: 目前插件配置完成,打开UE会自动启用插…

如何使用功率放大器

功率放大器是一种用于放大电流或电压的重要设备,广泛应用于音频、通信、无线电和电力等领域。正确地使用功率放大器可以确保其正常工作并获得满意的性能。下面西安安泰将介绍使用功率放大器的一般步骤和注意事项。 首先,了解功率放大器的规格和特性非常重…

MVME5100 MOTOROLA 使用GX Works3集成工程软件进行配置

MVME5100 MOTOROLA 使用GX Works3集成工程软件进行配置 例如,在楼宇自动化中,冗余控制器可用于集中控制系统,以管理HVAC、照明、应急响应、电梯系统和其他电气组件。在石油和天然气领域,冗余控制器可以管理起重机设备的制动系统、…

Optical Communication Band O-,E-,S-,C-,L-bands

Optical Communication Band O-bandC-bandL-bandS-bandE-band光纤通讯通常会在光纤拥有比较小传输损耗的区域进行。这个低损耗波长区域从 1260 nm 到 1625 nm。并且这个区域被分成五个带。 O-band 也叫做 original band,意为最初第一个被用于光通讯的波长带,其波长范围为 …

黑客通过ScreenConnect远程访问入侵医疗机构

导语:最近,安全研究人员发现黑客利用ScreenConnect远程访问工具对美国多家医疗机构进行攻击。这些威胁行为利用了Transaction Data Systems(TDS)使用的本地ScreenConnect实例,该公司是一家在全美50个州都有业务的药店供…

Linux系统编程——进程基本知识

1.什么是程序,什么是进程,区别是什么? 程序:程序是已经创建好的进程,此时并未进行运行,表现为静态。 windows存储在硬盘中的可执行文件Linux代码文件的编译但未运行,如gcc xxx.c -o pro 进程…

linux DMA设备驱动详解

一,DMA相关定义(fpga、wait_queue 、device、interrupt、 dma_request_channel 函数、dma_start_transfer函数、poll、read,platform总线) DMA (直接内存读写)是Direct Memory Access的缩写,也就是内存到内存&#xf…

Java开源工具库使用之线上监控诊断库Arthas

文章目录 前言一、介绍1.1 功能1.2 原理 二、安装使用2.1 下载2.2 使用 三、常用3.1 实时查看3.2 追踪查看3.3 辅助命令3.4 热更新3.5 监控 四、实战4.1 CPU/内存占用过高4.2 接口耗时高4.3 找到类所在jar4.4 查找类的实例4.5 生成火焰图 参考 前言 在现代软件开发中&#xff…

如何利用ChatGPT撰写学术论文?

在阅读全文前请注意,本文是利用ChatGPT“辅助完成”而不是“帮写”学术论文,请一定要注意学术规范! 本文我将介绍如何使用清晰准确的“指令”让ChatGPT帮助我们在论文写作上提高效率,希望通过本文的指导,读者能够充分…

OpenCV入门——概述 || 环境搭建

文章目录 OpenCV与图形学的关系OpenCV与FFmpeg的关系博客内容概览计算机视觉的应用OpenCV简介环境搭建 OpenCV与图形学的关系 从图形中理解其内容,是计算机视觉的任务;通过模型渲染出图像,是图形学的任务。 OpenCV与FFmpeg的关系 博客内容概…

Android开发入门课

设备环境搭建 1. 安装模拟器 雷电模拟器官网 : https://www.ldmnq.com/?n=6000 注:选择一个喜欢的版本安装即可,建议安装3版本、自带系统为安卓7以下。 不过雷电没有mac版本,需要mac版本的模拟器,可以使用夜神模拟器: Mac版本更新信息 | 夜神模拟器帮助中心 2. 安装…

万万没想到,金融人都在考的CFA和CPA在中国人民大学与加拿大女王大学金融硕士的用途这么大?

CFA和CPA是金融行业中两个非常重要的专业认证。它们分别代表了不同的职业方向和技能要求,对于想要在金融行业发展的人来说,拥有这两个认证之一或者两者都具备是非常有帮助的。听说拥有CFA和CPA在中国人民大学与加拿大女王大学金融硕士的用途也很大&#…