繁體中文(台灣)
  • oss
  • IAM
  • SSO 供應商

2025 年前五大開源身分識別與存取管理(IAM)供應商

比較 Logto、Keycloak、NextAuth、Casdoor 與 SuperTokens 的功能、協議、整合能力、優缺點,找出最適合你驗證與授權需求的開源解決方案。

Ran
Ran
Product & Design

不要在使用者認證上浪費數週時間
使用 Logto 更快地發布安全應用程式。幾分鐘內整合使用者認證,專注於您的核心產品。
立即開始
Product screenshot

什麼是 IAM 供應商?

身分識別與存取管理(IAM)供應商是一種系統,確保對資源的安全與可控存取。它結合了四大支柱:

  • 驗證:驗證使用者身分(如密碼、生物辨識、社群登入)。
  • 授權:根據角色或政策賦予權限。
  • 用戶管理:掌管用戶創建、角色分配、稽核。
  • 組織管理:架構團隊、權限與多租戶管理。 IAM 工具對於執行安全政策、防止資料外洩,以及符合 SOC 2、GDPR、HIPAA 等合規標準至關重要。

選擇開源 IAM 解決方案的關鍵考量

以下是核心需求:

  1. 整合就緒 SDK 與部署彈性: 確保與你的技術棧(例如程式語言、框架、資料庫)相容,並提供多種部署選項(如 npm 套件、Docker 容器、GitPod 整合或一鍵部署)。這可以幫助減少設置時間,加速產品上市。

  2. 協議支援及互通性: 必須支援 OAuth 2.0OpenID Connect (OIDC)SAMLLDAP,當與第三方應用及身分認證供應商(Google、Apple、Azure AD 等)整合時至關重要。開放標準可避免供應商綁定,並簡化聯合身分流程。

  3. 企業就緒功能模組: 選擇能以模組化方式應對現有需求並可持續擴展的解決方案:

    • 驗證:密碼、無密碼、社群登入、SSO、生物辨識、機器對機器驗證。
    • 授權:RBAC、ABAC 及 API 保護。
    • 管理:用戶生命週期工具、稽核日誌、Webhook、合規報告。
    • 安全:MFA、加密、密碼政策、暴力破解保護、機器人檢測及黑名單。選擇具備透明安全實踐(SOC2/GDPR 合規)的專案。
  4. 用戶體驗(UX)最佳化: 優先考慮有預設驗證流程(登入、註冊、密碼重設)的方案,減少開發負擔。確保用戶操作流程直觀、手機友善且可自訂,有助提升轉換率。

  5. 自訂化與擴充性: API 與 Webhook 應允許調整驗證流程、UI 主題、政策邏輯,配合獨特商業規則。避免「黑盒」方案——優先選擇透明、社群驅動的程式碼。

長遠成功的分野指標:

  1. 開發者體驗(DX): 全面的文件、程式範例與沙盒環境(如 Postman、CLI 工具)以及低程式碼管理主控台,協助快速上手並降低錯誤。

  2. 社群與企業支援: 欣欣向榮的社群(Discord、GitHub)便於排錯和知識交流。企業支援選項(SLA、專屬工程師)為關鍵部署增添穩定性。

  3. 可擴展性: 持續釋出零時差安全修補和新標準(如 FIDO2);混合部署選項(OSS + 雲端)簡化擴展並降低運維成本。

這些需求看似對開源專案要求很高,但現在已經有解決方案符合,接下來我們來看一看。

前五大開源 IAM 供應商

  1. Logto:開發者優先的一站式 IAM,包含驗證、授權、用戶管理及多租戶管理。完全不依賴框架,支援 OIDC/OAuth/SAML,完整免費開源。
  2. Keycloak:企業級支援多協議(SAML/OAuth/LDAP)的權威方案,適合需要細緻存取控管及自有部署的組織。
  3. NextAuth:專為 Next.js 設計的輕量級驗證函式庫,簡化社群登入、無密碼驗證與會話管理。
  4. Casdoor:以 UI 為先的 IAM & 單點登入(SSO)平台,提供網頁介面並支援 OAuth 2.0、OIDC、SAML、CAS、LDAP 與 SCIM。
  5. SuperTokens:基於 OAuth 2.0 的驗證解決方案,開源彈性結合商用擴展力。

#1 Logto

Logto 是現代應用和 SaaS 產品的開源 Auth0、Cognito 和 Firebase 應用型替代方案,支援 OIDC、OAuth 2.0 成為驗證與授權的開放標準。

首頁 | GitHub 倉庫 | 文件 | Discord 社群

Logto OSS 的主要功能

  1. 協議: OIDC、OAuth 2.0、SAML 2.0
  2. 官方 SDK:
    • 官方 SDK:Android、Angular、Capacitor JS、Chrome 擴充、.NET Core、Expo、Express、Flutter、FlutterFlow、Go、Java Spring Boot、Next.js (Page 與 App Router)、Auth.js(NextAuth)、Nuxt、Passport.js、PHP、Python、React、Ruby、SvelteKit、iOS、Vanilla JS、Vue、Webflow、WordPress、Hasura、Supabase。
    • 自訂整合:傳統網頁應用、SPA、行動應用、M2M、OAuth 應用、SAML 應用。
  3. 驗證方式: 密碼、Email 和 SMS 無密碼、社交登入、企業 SSO、MFA(TOTP 認證器/Passkeys/備用碼)、Personal Access Token、Google One Tap、邀請、帳號連結與 OAuth 同意流程。
  4. 授權: API 保護、用戶與 M2M 的 RBAC、組織層級 RBAC、JWT/不透明 Token 驗證、自定義 Token 聲明。
  5. 多租戶: 組織樣板、成員邀請、每組織 MFA、即時建立登錄(JIT)、為各租戶量身打造登入體驗。
  6. 用戶管理: 帳號冒充、用戶創建與邀請、停權、稽核日誌、用戶遷移。
  7. 使用者體驗: 提供漂亮、隨插即用、可完全自訂的驗證流程,聯邦身分聯合管理帶來多應用一鍵登入體驗。
  8. 供應商整合:
    • 社交供應商: Google、Facebook、Microsoft、Apple、GitHub、X.com、LinkedIn、Slack、Amazon、Discord、Line、WeChat、Kakao 等,可經 OpenID Connect 或 OAuth 2.0 完全自訂。
    • 企業供應商: Microsoft Azure AD、Google Workspace、Okta 等,可經 OIDC 或 SAML 完全自訂。
    • Email 郵件供應商:AWS、Mailgun、Postmark、SendGrid 等,可用 SMTP 或 HTTP 呼叫配置。
    • SMS 簡訊供應商:Twillio、SMS Aero、GatewayAPI、Vonage、阿里雲、騰訊。

Logto OSS 的優點

  • 100% 完全免費 OSS:所有核心功能(包括 SSO、RBAC、組織等)均免費,無關鍵功能加鎖。
  • 企業級安全:SOC2-ready 架構、MFA、SSO、API 保護、多租戶隔離、防暴力破解、稽核日誌。
  • 身分供應商能力:讓你的服務搖身一變成身分供應商,可輕鬆與多應用、平台、裝置整合。支援 OIDC、OAuth 2.0、SAML 2.0 達到通用單點登入與身份聯邦。
  • 對外部生態高度整合:支援 M2M、Personal Access Token、用戶冒充(Token 交換)、第三方 App OAuth 同意授權、第三方身分供應商自訂連結,助力產品快速成長。
  • 開發者友善:API、SDK、文件、管理主控台設計清晰易用。
  • 可擴展部署:免費 OSS,同時有 Logto Cloud 管理雲端服務,提供持續更新與財務支持,適合長期使用。
  • 活躍社群:Discord 社群及積極核心團隊,即時修正問題與推動持續功能優化。
  • 輕量現代:採用現代設計理念,速度效能俱佳,適用個人、創業團隊與企業。

Logto OSS 的缺點

  • 跳轉型驗證流程:基於 OIDC,需要跳轉至身分供應商,部分追求無跳轉場景不完美。但 Logto 提供嵌入式直接登入元件(社群、SSO等),可部分緩解。
  • B2E 功能有限:還未內建 LDAP/Active Directory 同步及極細緻授權。
  • 生態系發展中:社群規模比老牌專案小,但成長速度很快且有大量貢獻。

#2 Keycloak

Keycloak 屬於企業級 IAM 解決方案,強大支援 SAML、OAuth、LDAP 協議,適合注重協議彈性、自有部署及精細權限控管的組織。

首頁 | GitHub 倉庫 | 文件 | Slack 社群

Keycloak 主要功能

  1. 協議:OIDC、OAuth 2.0、SAML 2.0、LDAP
  2. 官方 SDK:Java、JavaScript、Node.js、C#、Python、Android、iOS、Apache HTTP Server
  3. 驗證方式:單點登入(SSO)、多因素驗證(MFA)、社群登入、Kerberos。
  4. 用戶體驗:預設登入介面和帳號管理主控台,支援 HTML、CSS 和 Javascript 訂製化。
  5. 細緻授權管控:可依角色、屬性或其他標準制定存取規則。
  6. 目錄同步:從企業目錄(LDAP/Active Directory)同步用戶。
  7. 可插拔架構:可透過擴充元件與外部系統整合。

Keycloak 優點

  • 全面的企業級功能:SSO、MFA、身份代理、用戶聯邦、多協議(OAuth 2.0、OIDC、SAML)支援。
  • 用戶介面與管理端可訂製:預設登入 UI 與管理主控台可自訂外觀或擴展功能。
  • 整合與擴展性高:容易與外部身分供應商整合(含 LDAP/AD、社群登入),亦支援自訂插件。
  • 活躍社群與持續開發:定期更新,有 Red Hat 背書,安全與功能都有保障。

Keycloak 缺點

  • 有學習門檻:Realm、Client、驗證流程設置較繁雜,IAM 新手初期會有挑戰。
  • 自訂化繁瑣:雖然高度彈性,但修改 UI 經常要寫 FreeMarker 模板或自訂 SPIs,較為費工。
  • 維運負擔高:大型升級或破壞性變更頻繁,需要協調 Server 與 Client 端同步升級。
  • 資源消耗大:高可用或容器化部署會明顯佔用 CPU/RAM,需調優。
  • 說明文檔不足:基礎文件齊全,但進階功能或邊緣案例甚少深度或最新說明。

#3 Auth.js/NextAuth.js

NextAuth.js 是為 Next.js 量身打造的輕量級驗證函式庫,快速實現社群登入、無密碼驗證及會話管理,設置簡單靈活。

首頁 | GitHub 倉庫 | 文件 | Discord 社群

NextAuth.js 主要功能

  1. 協議:OAuth 2.0、OIDC
  2. 適用框架:Next.js、Node.js 及伺服(如 Vercel、AWS Lambda)
  3. 驗證方式:社群登入、魔術連結、帳密、WebAuthn(Passkey)。
  4. 驗證操作體驗:預設登入、登出、錯誤與驗證頁,可覆蓋自定義品牌化版面。
  5. 會話管理:可選 JWT 無狀態會話或資料庫持久化管理。

NextAuth.js 優點

  • 無縫整合 Next.js:專為 Next.js 打造,支援 SSR、SSG 與 API 路由,useSessionSessionProvider 方便管理驗證狀態。
  • 驗證流程高度自訂:各種 Callback(登入、JWT、會話管理)給開發者完整驗證與 Token 處理控制權。
  • 活躍社群與開發範例多:社群貢獻多,文章、討論、協助延展性不斷提升。

NextAuth.js 缺點

  • IAM 功能有限:不支援 SAML、SSO、MFA、多租戶及其他 B2B/B2E 關鍵功能。僅專注驗證,無內建授權與用戶管理。
  • 文件品質參差不齊:許多用戶反映官方文件零散、過時且難以查閱,升級或結構調整時特別明顯。
  • 穩定性與 Bug 問題:會話控制、Refresh Token Bug 和不穩定行為時常困擾開發者,需自訂解決。
  • 學習曲線陡峭:API 與設置規格偏複雜,初學者有挑戰;且新版本(如 v5 beta)會有破壞性更新增加整合難度。

#4 Casdoor

Casdoor 是一個以 UI 為核心的 IAM/SSO 平台,網頁界面友善,支援 OAuth 2.0、OIDC、SAML、CAS、LDAP、SCIM、WebAuthn、TOTP、MFA、RADIUS、Google Workspace、Active Directory 及 Kerberos。

首頁 | GitHub 倉庫 | 文件 | Discord 社群

Casdoor 主要功能

  1. 協議:OAuth 2.0、OIDC、SAML、CAS、LDAP、SCIM
  2. 官方 SDK:Android、iOS、React Native、Flutter、Firebase、Unity、uni-app、Electro、.Net 桌面、C/C++、Javascript、純前端、React、Next.js、Nuxt、Vue、Angular、Flutter、ASP.NET、Firebase、Go、Java、Node.js、Python、PHP、.NET、Rust、Dart、Ruby。
  3. 驗證方式:帳號密碼、郵件/短信驗證碼、社群登入(OAuth/SAML)
  4. 身分管理:集中式管理後台,控管用戶、角色、權限、多租戶及稽核日誌。
  5. UI 及流程自訂:內建 UI 樣板,可自訂登入方式、註冊欄位、驗證流程。
  6. 存取控制:支援 RBAC,並可與 Casbin 等進階授權方案結合。
  7. 多租戶:單一實例管理多組織或專案。

Casdoor 優點

  • 靈活整合性:Casdoor 豐富的 API、SDK 及身分供應商支援,方便連結各大平台及第三方服務。
  • 多租戶與身份聯邦:內建多租戶與身份代理,適合需集中管理多客戶/子公司的組織。
  • 開源且社群活躍:核心社群積極維護,Casnode、QQ 群等平台討論熱烈,且頻繁更新。

Casdoor 缺點

  • 安全疑慮:曾有 SQL 注入(CVE-2022-24124)與任意文件讀取等漏洞,因此需嚴格配置安全且及時更新。
  • UI 較為老舊:預設 UI 與現代方案相比略顯過時,需自訂提升體驗。
  • 企業級支援有限:雖然功能豐富,但部分成熟企業級服務仍有差距,可能需額外自訂開發。
  • 學習曲線較高:進階自訂需懂 Golang 與 React.js,對不熟悉相關技術團隊較困難,Swagger API 文件有,但缺乏複雜案例教學。

#5 Supertokens

一款以開發者為中心的驗證解決方案,結合開源透明與商用擴展,支援無密碼、MFA、會話管理,優化現代應用架構。

首頁 | GitHub 倉庫 | 文件 | Discord 社群

Supertokens 主要功能

  1. 協議:OAuth 2.0
  2. 框架及雲端整合:
    • 框架:Next.js App Router、Next.js Pages Router、NestJS、GraphQL、RedwoodJS、Capacitor。
    • 雲平台:AWS Lambda、Netlify、Vercel、Hasura、Supabase。
  3. 驗證方式
    • 免費:密碼、Email/SMS 無密碼、社群登入。
    • 付費:多租戶驗證、企業 SSO(SAML)、MFA(TOTP/Email OTP/SMS OTP)、帳號連結。
  4. 預設 UI 元件及可訂製流程:提供現成 登入/註冊/密碼恢復元件,方便自訂流程。
  5. 多租戶(付費):可針對多組織/應用管理,企業 SSO 支援 SAML,用戶資料隔離、登入方式可自訂。
  6. 風險評估(付費):內建攻擊風險評估套件,分析登入行為並給予風險分數,可自動強制 MFA。

Supertokens 優點

  1. UI 分類明確:Supertokens 依 SDK 及驗證方法分類為現成 UI 與自訂 UI,整合彈性大又清楚。
  2. 輕量且專注驗證:專注於驗證,架構簡潔高效。開源版已涵蓋多項基本功能,適合新創及小團隊。
  3. 積極持續開發:社群活躍、常態更新功能。

Supertokens 缺點

  1. 開源功能有限制:帳號連結、多租戶驗證、額外管理員等進階功能需付費。
  2. 企業整合能力有限:不支援 SAML 應用整合,對於傳統大型企業相容性較差。
  3. 功能範圍聚焦狹窄:聚焦在驗證,管理主控台僅有基礎功能,缺少高階授權/租戶管理/企業級身分功能。
  4. 生態系較小:第三方整合與插件數量比起綜合型 IAM 方案較少,社群小,長期支援與擴充力有影響。

結論

開源 IAM 解決方案分為三大類型:

  • 全面且彈性高:如 Logto、Keycloak、Casdoor,提供驗證、授權與用戶管理等完整功能。
  • 僅專注驗證或授權:如 Supertokens,聚焦驗證(AuthN)。
  • 輕量化專屬框架:如 NextAuth.js,針對特定框架設計。

選擇時務必根據專案規模、特殊需求及未來擴展性評估。

Logto 特別突出,完全免費且功能齊全,社群活躍、協議支援完善,具備長期穩定性與高度擴展性。若需企業級合規與可靠,Logto 雲端商用版可無縫升級並享有專屬支援。