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

news/2024/7/10 19:22:18 标签: 开源, 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


http://www.niftyadmin.cn/n/5273362.html

相关文章

Adobe Reader等停止工作的原因不少,但可修复性很强

这种情况是随机发生的,比如如果你在正常的状态下关闭了电脑,第二天打开Adobe Reader时可能就会出现这个错误。但别担心,在这篇文章中,我们将解释为什么Adobe Reader或Acrobat DC停止工作,以及我们如何解决这个问题。 是什么导致Adobe Reader停止工作 导致Adobe Reader无…

Linux:使用fdisk和parted对硬盘分区等操作

目录 fdisk prated 查看硬盘 配置硬盘 查看帮助 配置新的磁盘标签类型 创建分区 查看分区情况 ​编辑 退出编辑 删除分区 格式化 误删恢复分区 fdisk Linux:磁盘管理 | 查看 磁盘,创建分区,格式化文件系统,添加&开启…

基于Python Django的内容管理系统Wagtail CMS部署与公网访问

文章目录 前言1. 安装并运行Wagtail1.1 创建并激活虚拟环境 2. 安装cpolar内网穿透工具3. 实现Wagtail公网访问4. 固定的Wagtail公网地址 前言 Wagtail是一个用Python编写的开源CMS,建立在Django Web框架上。Wagtail 是一个基于 Django 的开源内容管理系统&#xf…

go mod indirect

在 Go 语言中,"indirect" 标记的 require 子句通常是由 Go 模块系统自动生成的,而不是手动维护的。 当一个模块直接依赖于另一个模块,而后者又依赖于第三个模块时,Go 模块系统会自动检测并生成 "indirect" 标…

力扣题:数字与字符串间转换-12.23

力扣题-12.23 [力扣刷题攻略] Re:从零开始的力扣刷题生活 力扣题1:273. 整数转换英文表示 解题思想:首先先写好三位数的整数的表示方式,然后通过三位数三位数的遍历对数字进行字符串的转换,注意空格 class Solution…

Android13音频录制适配

Android13音频录制适配 前言: 之前写过一篇音频录制的文章,当时是在Android10以下的手机可以成功录制和播放,但是Android10及以上手机提示创建文件失败,最近做过Android13的适配,索性一起把之前的录音也适配了&#…

【深度学习目标检测】十、基于yolov5的火灾烟雾识别(python,目标检测)

YOLOv5是目标检测领域一种非常优秀的模型,其具有以下几个优势: 1. 高精度:YOLOv5相比于其前身YOLOv4,在目标检测精度上有了显著的提升。YOLOv5使用了一系列的改进,如更深的网络结构、更多的特征层和更高分辨率的输入图…

[MySQL] MySQL中的内外连接

文章目录 一、内连接 1、1 概念及语法 1、2 实例讲解 二、外连接 2、1 概念及语法 2、2 左外连接 2、3 右外连接 🙋‍♂️ 作者:Ggggggtm 🙋‍♂️ 👀 专栏:MySQL 👀 💥 标题:MySQL中…