開源 Authorization Server 比較
選擇自架的 Authorization Server 時,需要考量的面向很多:是否通過 OIDC 認證、對 OAuth 2.1 的支援程度、社群活躍度等。以下整理了目前主流的開源實作。
| 名稱 | 語言 | License | GitHub Stars | 參考版本 |
|---|---|---|---|---|
| Keycloak | Java | Apache 2.0 | ~33k | 26.5.5 |
| Authelia | Go | Apache 2.0 | ~27k | 4.39.16 |
| Authentik | Python / Go | MIT | ~21k | 2026.2.1 |
| Ory Hydra | Go | Apache 2.0 | ~17k | 25.4.0 |
| ZITADEL | Go | AGPL-3.0 | ~13k | 4.12.3 |
| Casdoor | Go | Apache 2.0 | ~13k | 2.356.0 |
| Logto | TypeScript | MPL-2.0 | ~12k | 1.37.1 |
| Spring Authorization Server | Java | Apache 2.0 | ~5k | 1.5.6 |
| node-oidc-provider | Node.js | MIT | ~4k | 9.7.0 |
| WSO2 Identity Server | Java | Apache 2.0 | ~1k | 7.2.0 |
OAuth 2.1 與 OIDC 支援
Section titled “OAuth 2.1 與 OIDC 支援”| 名稱 | OIDC 認證 | 強制 PKCE | 移除 Implicit | 移除 ROPC | DCR |
|---|---|---|---|---|---|
| Keycloak | ✅ | — | — | — | ✅ |
| Authelia | ✅ | 可設定 | deprecated | 不支援 | — |
| Authentik | — | 可選 | 仍支援 | — | — |
| Ory Hydra | ✅ | 建議 | 標記不安全 | deprecated | ✅ |
| ZITADEL | ✅ | 建議 | — | — | — |
| Casdoor | — | — | — | — | ✅ |
| Logto | — | ✅ 強制 | ✅ 已移除 | ✅ 從未支援 | — |
| Spring Auth Server | — | ✅ 內建 | ✅ 已移除 | ✅ 已移除 | ✅ |
| node-oidc-provider | ✅ | 內建 | 可設定停用 | 可設定停用 | ✅ |
| WSO2 IS | ✅ | 支援 | — | — | ✅ |
OAuth 2.1 最完整:Spring Authorization Server 與 Logto 已完整實踐 OAuth 2.1 的要求。 OIDC 認證最廣泛:node-oidc-provider 涵蓋最多 profile(含 FAPI 2.0)。
Token 格式
Section titled “Token 格式”| 名稱 | JWT | Opaque |
|---|---|---|
| Keycloak | ✅ | ✅ |
| Authelia | ✅ | ✅(預設) |
| Authentik | ✅(預設) | — |
| Ory Hydra | ✅ | ✅(預設) |
| ZITADEL | ✅ | ✅ |
| Casdoor | ✅ | — |
| Logto | ✅ | ✅ |
| Spring Auth Server | ✅ | ✅ |
| node-oidc-provider | ✅ | ✅ |
| WSO2 IS | ✅ | ✅ |
Keycloak
Section titled “Keycloak”Keycloak 是目前最廣泛使用的開源 IAM 平台,由 Red Hat 維護,現為 CNCF 孵化專案。提供 SSO、使用者管理、聯邦身份驗證、社群登入等完整功能。適合需要全功能 IAM 的企業場景。
Authelia
Section titled “Authelia”Authelia 主要作為反向代理(如 nginx、Traefik)的認證伴侶服務,提供 2FA/MFA SSO portal,附帶 OIDC Provider 功能。適合自架 homelab 或需要替既有反向代理加上認證的場景。
Authentik
Section titled “Authentik”Authentik 是現代化的自架 IdP 平台,支援 OAuth2/OIDC、SAML、LDAP、SCIM、RADIUS,提供直觀的 Web UI 管理介面。適合需要多協定支援且重視管理體驗的團隊。
Ory Hydra
Section titled “Ory Hydra”Ory Hydra 是 headless 的 OAuth2/OIDC server,刻意不包含使用者管理和登入 UI,而是透過 login/consent app 整合既有的身份提供者。適合已有使用者系統、只需要加上 OAuth 授權層的場景。
ZITADEL
Section titled “ZITADEL”ZITADEL 以 API-first 設計和 event-sourcing 架構為核心,原生支援多租戶和 B2B 組織管理。適合 SaaS 平台需要為客戶提供獨立身份管理的場景。
Casdoor
Section titled “Casdoor”Casdoor 以 Web UI 為中心,支援 OAuth 2.0/OIDC、SAML、CAS、LDAP、SCIM、WebAuthn 等多種協議。適合需要快速搭建且重視 UI 操作的場景。
Logto 針對 SaaS 和 AI 應用設計,完整實踐 OAuth 2.1,內建多租戶、企業 SSO、RBAC,提供 30 多個框架的 SDK。適合新建的 SaaS 應用,希望從一開始就採用 OAuth 2.1 的團隊。
Spring Authorization Server
Section titled “Spring Authorization Server”Spring Authorization Server 是 Spring 生態系的 OAuth 2.1 授權伺服器框架,作為嵌入式函式庫而非獨立產品。適合 Java / Spring 技術棧的團隊。注意:1.5.x 為最後一代,後續功能將合併至 Spring Security 7.0。
node-oidc-provider
Section titled “node-oidc-provider”node-oidc-provider 是功能最完整的 Node.js OIDC Provider 實作,涵蓋幾乎所有 OAuth2/OIDC 規範,包含 FAPI 2.0 認證。作為函式庫可掛載至 Express、Koa、Fastify 等框架。適合 Node.js 技術棧且需要高度客製化的場景。
WSO2 Identity Server
Section titled “WSO2 Identity Server”WSO2 Identity Server 是企業級 IAM 產品,功能涵蓋 SSO、adaptive MFA、API 存取管理。有開源版與商業版。適合大型企業的身份治理需求。
- 需要全功能 IAM 平台:Keycloak、Authentik、ZITADEL
- 已有使用者系統,只需 OAuth 層:Ory Hydra、node-oidc-provider
- 嵌入既有應用程式:Spring Authorization Server、node-oidc-provider
- 反向代理認證:Authelia
- 完整 OAuth 2.1 相容:Logto、Spring Authorization Server
- SaaS 多租戶:ZITADEL、Logto
- oauth.net/code — OAuth 2.0 開源實作與函式庫列表
- OpenID Connect Certified Implementations
- OAuth 2.1