繁體中文(香港)
  • oss
  • IAM
  • SSO providers

2025 年五大開源身份認證與存取管理(IAM)供應商

比較 Logto、Keycloak、NextAuth、Casdoor 及 SuperTokens 的功能、協議、整合方式、優缺點,幫你尋找最適合自己驗證及授權需求的開源方案。

Ran
Ran
Product & Design

Stop wasting weeks on user auth
Launch secure apps faster with Logto. Integrate user auth in minutes, and focus on your core product.
Get started
Product screenshot

什麼是 IAM(身份認證與存取管理)供應商?

身份認證與存取管理(Identity and Access Management,IAM)供應商是一個確保資源安全且受控存取的系統。它結合以下四大支柱:

  • 認證(Authentication):驗證使用者身份(如密碼、生物認證、社交登入)。
  • 授權(Authorization):根據角色或政策分配權限。
  • 用戶管理(User Management):處理用戶建立、角色設定和稽核。
  • 組織管理(Organization Management):組織團隊架構、權限及多租戶管理。 IAM 工具對執行安全政策、防止資料外洩,以及合規如 SOC 2、GDPR 及 HIPAA 等標準至關重要。

選擇開源 IAM 解決方案的關鍵考慮因素

以下是核心需求:

  1. 可整合的 SDK &多樣部署方式: 要確保與你的技術棧相容(如程式語言、框架、資料庫),並能提供主流部署選項(如 npm 套件、Docker 容器、GitPod 整合或一鍵托管)。這有助於縮短設置時間及加速產品上市。

  2. 協議支援,強化互通性: 必須支援 OAuth 2.0、OpenID Connect (OIDC)、SAMLLDAP,以利與第三方應用及身份供應商(Google、Apple、Azure AD 等)整合。開放標準可避免供應商綁定,並簡化聯合身份處理流程。

  3. 企業級模組化功能: 選擇具備模組化架構的方案,同時滿足現有需求並可隨業務成長擴展:

    • 認證:密碼、無密碼、社交登入、SSO、生物認證、M2M。
    • 授權:RBAC、ABAC、API 保護。
    • 管理:用戶生命週期、稽核日誌、Webhooks、合規報表。
    • 安全性:MFA、加密、密碼規則、阻擋暴力破解、機械人偵測、封鎖清單。選擇有透明安全政策(SOC2/GDPR 合規)的專案。
  4. 優化用戶體驗(UX) : 優先考慮附有 預設認證流程(登入、註冊、重設密碼),可減低開發成本。確保用戶路徑直觀、行動友好且支援自定義,提升轉換率。

  5. 高度自定義及擴展性: API 及 Webhook 應容許調整認證流程、介面主題和政策規則,滿足獨特業務需求。避免「黑箱」方案——傾向於開源、社群驅動的原始碼庫。

長期成功的分水嶺:

  1. 開發者體驗(DX): 完整文件、原始碼範例與沙盒實驗環境(如 Postman、CLI 工具),再配合低程式碼後台,便捷部署、減少失誤。

  2. 社群支援 & 企業服務: 活躍社群(Discord、GitHub)提供問題排解、經驗分享。企業級支援服務(SLA、專屬工程團隊)可保障關鍵應用的可靠。

  3. 可擴展性: 定期更新,涵蓋超前漏洞與新興標準(如 FIDO2)。混合部署(開源 + 雲端)可簡化擴容並減少運維負擔。

這些標準對開源專案而言或許嚴格,但現今已出現可達標的服務,以下帶你逐一了解。

開源 IAM 方案五強

  1. Logto :開發友善的 IAM,結合認證、授權、用戶管理和多租戶於一身,框架無綁定、支援 OIDC/OAuth/SAML,100% 免費開源。
  2. Keycloak :企業級協議巨擘(SAML/OAuth/LDAP),適合強調細緻存取控管以及自託管需求的組織。
  3. NextAuth :針對 Next.js 開發者設計的輕量認證函式庫,讓社交登入、無密碼認證及 session 管理變得容易。
  4. Casdoor :以 UI 為主導的 IAM 與 SSO 平台,自帶網頁介面,支援 OAuth 2.0、OIDC、SAML、CAS、LDAP 及 SCIM。
  5. SuperTokens :基於 OAuth 2.0 的認證解決方案,兼具開源彈性及企業級擴展性。

#1 Logto

Logto 是一款開源的現代身份認證平台,可作為 Auth0、Cognito 和 Firebase Auth 的替代選擇,支援 OIDC、OAuth 2.0 及 SAML 等開放協議,滿足 SaaS 及應用程式的身份驗證與授權所需。

主頁 | 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 / Passkey / 備用碼)、Personal Access Token、Google One Tap、邀請碼、帳號連結、OAuth 授權畫面。
  4. 授權功能: API 保護、用戶/M2M RBAC、組織級 RBAC、JWT/不透明 Token 驗證、自訂聲明。
  5. 多租戶: 組織模板、成員邀請,各組織 MFA、即時配置入職(JIT)、每租戶自定登入流程。
  6. 用戶管理: 用戶冒充、用戶建立與邀請、停權、稽核日誌、用戶搬遷/轉移。
  7. 用戶體驗: 提供美觀、開箱即用且完全可自定的認證流程,支援跨多應用、統一身份單點登入的體驗。
  8. 供應商整合:
    • 社交登入: Google、Facebook、Microsoft、Apple、GitHub、X.com、LinkedIn、Slack、Amazon、Discord、Line、微信、Kakao 等。支援 OIDC/OAuth 2.0 完全自定義。
    • 企業身份供應商: Microsoft Azure AD、Google Workspace、Okta 等。支援 OIDC 或 SAML 全面自定。
    • Email 通知供應商: AWS、Mailgun、Postmark、SendGrid 等,支援 SMTP/HTTP 呼叫配置。
    • SMS 通知供應商: Twilio、SMS Aero、GatewayAPI、Vonage、阿里雲、騰訊雲等。

Logto OSS 優點

  • 100% 免費開源: 所有核心功能(含 SSO、RBAC、組織等)全都免費,無任何基本功能付費牆。
  • 企業級安全性: SOC2-ready 架構,MFA、SSO、API 保護、多租戶隔離、暴力破解阻擋、稽核日誌。
  • 可做身份供應商: 使用 Logto,能將你的服務變成身份供應商,跨多應用、平台、設備無縫整合。支援 OIDC、OAuth 2.0 及 SAML 2.0,開啟泛用單點登入與聯合身份識別。
  • 生態圈整合好夥伴: 支援 M2M 認證、个人访问令牌、用户冒充(令牌交換)、第三方應用 OAuth 授權同意頁,以及自定義第三方身份供應商接入,助力產品成長。
  • 開發者友好: API、SDK、文件結構完善,管理後台簡潔易用。
  • 靈活部署: Logto 開源版免費,Logto Cloud 則提供有保證維護和長期支援的託管服務。
  • 活躍社群: 有回應效率高的 Discord 社群,核心團隊積極推動,議題能快速跟進解決。
  • 輕量現代化: 建構於現代設計準則,兼顧速度及效率,小團隊、初創、企業皆適合。

Logto OSS 缺點

  • 導向式認證流程: 採用 OIDC,需導向到身份供應商,無法滿足完全無跳轉需求。惟 Logto 提供可內嵌的元件(如 Social、SSO),可部分解決此限制。
  • B2E 功能略弱: 尚無內建 LDAP/AD 同步及極細緻的授權控制。
  • 生態圈新興: 社群規模較老牌方案小,但發展迅速。

#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 與管理設定豐富: 預設登入 UI 和後台主控台可主題化及擴展。
  • 整合擴充力強: 可與外部身份來源(LDAP/AD、社交登入)整合,亦支援自訂外掛擴充。
  • 社群活躍、持續開發: Red Hat 支持,更新積極,長期安全有保障。

Keycloak 缺點

  • 學習曲線陡峭: Realms、Client、認證流程配置較複雜,IAM 新手易感困擾。
  • 客製化挑戰多: 虽然彈性強,UI 微調需操作 FreeMarker 模板或客製 SPI,過程繁瑣。
  • 維護成本高: 主、次版本更新頻繁,升級需同步 Server & Client Library,維護成本大。
  • 資源耗用大: 高可用或容器化部署環境,CPU/RAM 需求高,需精調效能。
  • 文件斷層: 基本說明完整,但進階應用與各種特例文檔尚欠缺細緻或及時更新。

#3 Auth.js/NextAuth.js

NextAuth.js 是專為 Next.js 打造的輕量級認證庫,用最少設定就能搞定社交登入、無密碼認證及 session 管理,非常適合 Next.js 應用。

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

NextAuth.js 功能

  1. 支援協議: OAuth 2.0、OIDC
  2. 支援框架: Next.js、Node.js 及無伺服器平台(如 Vercel、AWS Lambda)
  3. 認證方式: 社交登入、魔法連結、密碼認證、WebAuthn(Passkey)。
  4. 認證流程體驗: 預設登入、登出、出錯與驗證頁面,可自定義,實現自家品牌風格的認證體驗。
  5. Session 管理: 支援 JWT 無狀態 session 及資料庫型 session。

NextAuth.js 優點

  • Next.js 無縫整合: 量身打造 Next.js,完美支持 SSR、SSG、API Route。可用 useSession hoook 及 SessionProvider 輕鬆管理認證狀態。
  • 認證流程彈性大: 內建 sign-in、JWT、Session callback,可深度自定處理,獲得高度主控權。
  • 社群資源豐富: 討論、教學、範例眾多,遇問題易找到解法。

NextAuth.js 缺點

  • IAM 功能薄弱: 無 SAML、SSO、MFA、多租戶等進階需求。只專注於認證,未內建授權或用戶管理。
  • 文件混亂: 文件分散、更新慢,新舊版本、App 目錄結構切換時特別難用。
  • 穩定性與 Bugs: 不少開發者發現 Session 處理、Refresh Token 有 Bug,偶有異常需用 workaround。
  • 學習門檻不低: API 設計和設定方式,初學者難以上手。尤其 v5 beta 之後,破壞性更新變多。

#4 Casdoor

Casdoor 是 UI 導向的身份存取管理(IAM)/單點登入(SSO)平台,自帶網頁 UI,支援 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、Electron、.Net Desktop、C/C++、Javascript(Only Frontend)、React、Next.js、Nuxt、Vue、Angular、Flutter、ASP.NET、Firebase、Go、Java、Node.js、Python、PHP、.NET、Rust、Dart、Ruby。
  3. 認證方式: 賬號密碼、Email / SMS 驗證碼、社交登入(OAuth / SAML)。
  4. 身份管理: 有集中式控制台,管理用戶、角色、權限、多租戶及稽核日誌。
  5. UI 與流程自定義: 內建 UI 模板,可自定登入方式、註冊欄位、認證流程。
  6. 存取控管: 支援 RBAC,並可與 Casbin 等進階授權方案集成。
  7. 多租戶: 一套系統可管理多個組織/專案。

Casdoor 優點

  • 彈性整合: API、SDK、身份供應商豐富,易於串接多端與第三方服務。
  • 多租戶及身份聯邦: 內建多租戶、多身份來源,適合需管理多客戶、子公司組織。
  • 開源活躍社群: 社群參與度高,Casnode、QQ 群組等有討論、維護與定期更新。

Casdoor 缺點

  • 安全性須注意: 曾發生過 SQL 注入(CVE-2022-24124)、任意檔案讀取等漏洞,須嚴格設定安全參數並及時升級。
  • UI 設計較舊: 開箱 UI 與現代化認證解決方案比有點過時,往往需自行美化。
  • 企業級支援有限: 功能雖豐富,但部分進階功能還不夠成熟,可能要額外自定義開發。
  • 學習曲線陡峭: 進階客製需懂 Golang、React.js,非相關技術團隊會吃力,Swagger API 文件易缺細節。

#5 Supertokens

開發者為核心的認證解決方案,融合開源透明度及商業級彈性,提供無密碼、MFA 及現代 App 架構專用 session 管理。

主頁 | 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 元件與自定認證流程: 內建註冊、登入、重設密碼等 UI 元件,支援自定流程。
  5. 多租戶支援(付費): 一套系統管理多組織/應用,支援企業級 SSO(SAML 連接)、用戶資料隔離、每租戶自訂登入。
  6. 風險評估(付費): 攻擊防護工具套件,分析登入行為並分配風險分數,風險高時可強制 MFA。

Supertokens 優點

  1. UI 導向清楚: SDK 及認證方式分成內建 UI 和自訂 UI,整合彈性高。
  2. 輕量&專注認證: 專為認證打造,不帶多餘複雜功能,開源版含所有基本需求,小團隊或新創很適合。
  3. 積極開發: 持續更新新功能,GitHub 社群活絡。

Supertokens 缺點

  1. 開源功能有限: 高級如帳號連結、多租戶認證、擴展使用者數、MFA、防禦模組需付費。
  2. 企業整合有限: 尚無 SAML 應用型整合,與傳統系統兼容度有限。
  3. 功能聚焦單一: 著重「認證」本身,後台管理簡單,缺進階授權、多租戶管理及企業級身份特色。
  4. 生態圈規模小: 第三方插件、整合數量少於大型 IAM 方案,社群較小,日後擴展和長期支援要注意。

總結

開源 IAM 方案類型多樣:

  • 全面彈性型: 如 Logto、Keycloak、Casdoor,功能覆蓋認證、授權、用戶管理。
  • 純認證/授權型: 如 Supertokens,專注身份驗證。
  • 輕量框架型: 如 NextAuth.js,為特定框架而設。

選擇方案時,要考慮專案規模、具體需求及未來擴展。

Logto 以完全免費、全功能與活躍社群脫穎而出,並支援全部主流協議,在用戶管理、認證、授權模組上極為完整且彈性。若你需企業級合規和穩定性,Logto Cloud 提供有保障的移轉與專屬支援,兼顧成本效益。