開(kāi)源免費(fèi)單點(diǎn)登錄(SSO)系統(tǒng)
單點(diǎn)登錄(SSO)是一個(gè)登錄服務(wù)層,通過(guò)一次登錄訪問(wèn)多個(gè)應(yīng)用。使用SSO服務(wù)可以提高多系統(tǒng)使用的用戶體驗(yàn)和安全性,用戶不必記憶多個(gè)密碼、不必多次登錄浪費(fèi)時(shí)間。
下面推薦一些市場(chǎng)上最好的開(kāi)源SSO系統(tǒng),可作為商業(yè)SSO替代。
1.Authelia
https://github.com/authelia/authelia
Authelia是一個(gè)免費(fèi)、開(kāi)源、可私有化部署的單點(diǎn)登錄(SSO)項(xiàng)目。它具有時(shí)尚的登錄窗口,支持一次性密碼設(shè)置、通知推送等功能。
Authelia可以獨(dú)立安裝,或者使用Docker、Kubernetes容器部署。
下圖是Authelia的登錄頁(yè)面:
開(kāi)發(fā)語(yǔ)言:Go、TypeScript、Html
2.Keycloak
https://www.keycloak.org/
https://github.com/keycloak/keycloak
Keycloak是一個(gè)免費(fèi)、開(kāi)源身份認(rèn)證和訪問(wèn)管理系統(tǒng),支持高度可配置的單點(diǎn)登錄(SSO)功能。
Keycloak內(nèi)置支持連接到現(xiàn)有的LDAP或Active Directory服務(wù)器。也可以自己實(shí)現(xiàn)與關(guān)系數(shù)據(jù)庫(kù)中的用戶數(shù)據(jù)對(duì)接。
另外,如果基于角色的授權(quán)不能滿足需求,Keycloak還提供了細(xì)粒度的授權(quán)服務(wù)。這允許您從Keycloak管理控制臺(tái)管理所有服務(wù)的權(quán)限,您可以準(zhǔn)確地定義您所需的授權(quán)策略。
Keycloak支持許多目前比較流行認(rèn)證標(biāo)準(zhǔn)協(xié)議,如:OpenID Connect,OAuth 2.0、SAML 2.0等。
開(kāi)發(fā)語(yǔ)言:Java、TypeScript、Html
3.Apereo CAS
https://github.com/apereo/cas
Apereo CAS是一個(gè)開(kāi)源的企業(yè)級(jí)單點(diǎn)登錄系統(tǒng),是CAS項(xiàng)目的一部分。
Apereo CAS開(kāi)箱即用,并且提供多種協(xié)議支持,如:CAS(v1,v2和v3)、SAML(1.0和2.0)、OAuth(v2)、OpenID、OpenID Connect等。
Apereo CAS支持使用多種身份證方法,包括:JAAS、LDAP、RDBMS、Radius、JWT等。
Apereo CAS支持通過(guò)Due、YubiKey、RSA、Google Authenticator、U2F、WebAuten等進(jìn)行身份驗(yàn)證。
系統(tǒng)架構(gòu)如下圖所示:
開(kāi)發(fā)語(yǔ)言:Java(Spring/Spring Cloud)、Html
4.IdentityServer
https://github.com/IdentityServer
IdentityServer是一個(gè)完整的IAM(身份和訪問(wèn)管理系統(tǒng)解決方案),它基于OpenID Connect和ASP.NET Core開(kāi)發(fā),支持OAuth 2.0。通過(guò)API提供SSO服務(wù)。適合使用.Net技術(shù)的開(kāi)發(fā)人員。
開(kāi)發(fā)語(yǔ)言:C#、JavaScript、Html
5.Jasny SSO
https://github.com/jasny/sso
Jasny SSO是一個(gè)輕量級(jí)的PHP SSO 項(xiàng)目。它由三部分組成:客戶端、代理和服務(wù)端。它可以安裝并集成到任何PHP項(xiàng)目中。
開(kāi)發(fā)語(yǔ)言:PHP
6.OpenAM
https://github.com/OpenIdentityPlatform/OpenAM
OpenAM是一個(gè)具有SSO功能的全功能IAM系統(tǒng),它具有SSO、身份驗(yàn)證、授權(quán)、身份聯(lián)合和友好的API。
它支持CDSSO(跨域單點(diǎn)登錄),SAML 2.0,OAuth 2.0和OpenID Connect等協(xié)議。
開(kāi)發(fā)語(yǔ)言:Java、TypeScript、Html
部署環(huán)境:linux、window、mac、Docker
7.S.S.Octopus
https://github.com/buzzfeed/sso
S.S.Octopus又名sso或者 aka octoboi,是一種用于保護(hù)內(nèi)部服務(wù)的單點(diǎn)登錄解決方案。它是Buzzfeed下的一個(gè)開(kāi)源SSO項(xiàng)目。它是用Go編寫(xiě)的,可以編譯成二進(jìn)制文件安裝,或者Docker安裝。
開(kāi)發(fā)語(yǔ)言:Go
8.ORY Hydra
https://github.com/ory/hydra
ORY Hydra是一個(gè)開(kāi)源的SSO項(xiàng)目,支持OpenID、OpenID Connect和OAuth2.0協(xié)議,ORY Hydra是ORY IAM生態(tài)系統(tǒng)的一部分。ORY IAM生態(tài)包含一系列用于構(gòu)建IAM系統(tǒng)的子項(xiàng)目,并且這些項(xiàng)目都是開(kāi)源的。
開(kāi)發(fā)語(yǔ)言:Go