這題我會

購買指南

個人開發者 OAuth 整合指南:Google / Apple / GitHub / LINE / Discord 怎麼選 2026

做一個 web app 或 mobile app,登入用 OAuth 比自建帳密快 10 倍。但 Google / Apple / GitHub / LINE / Discord / Microsoft / Facebook 這些 provider 該怎麼選?這篇文章從用戶覆蓋率、成本、合規面實戰比較。

當你做一個新的 web 或 mobile app,第一個讓你慢下來的問題通常是「登入怎麼做」

自建帳密系統表面上不難,但要做好需要:

  • 密碼雜湊(bcrypt / argon2)
  • Email 驗證流程
  • 忘記密碼流程
  • Rate limiting / brute force 防護
  • 2FA / MFA
  • Session 管理 / refresh token rotation
  • GDPR / 個資法合規

加起來大概一週工程量。但如果你接 OAuth provider,整套流程兩小時內就能搞定——而且使用者也不用記新密碼。

問題是:Google、Apple、GitHub、LINE、Discord、Microsoft、Facebook 這麼多選擇,你應該接哪些?這篇文章從個人開發者 / 小團隊的角度實戰比較。

如果你想知道現在最強的 AI 寫程式助手怎麼選,可以參考我們的另一篇文章。

先決定:你要的是 SSO 還是真正的 OAuth?

很多人搞混這兩個:

  • SSO(Single Sign-On):只用 provider 確認「這個人是誰」,然後在你的系統裡建立 user record。你不需要 provider 的 API access。例:「Sign in with Google」按鈕,登入後你只需要 email + name + avatar。
  • 真正的 OAuth:你想代表用戶呼叫 provider 的 API。例:你想要讀取用戶的 GitHub repo / Google Drive 檔案 / Discord channel 訊息。

95% 個人開發者的需求是 SSO。 不需要去碰 OAuth scope 的複雜性。如果你只需要「Login with」按鈕,這篇文章的「複雜度」欄就只看 SSO 模式。

主要 Provider 比較

Google

  • 覆蓋率:⭐⭐⭐⭐⭐(全球 ~25 億 active accounts)
  • 複雜度:低(OAuth 2.0 + OIDC,文件最齊全)
  • 成本:免費(無 quota 限制 for SSO)
  • 審核時間:first verification 約 4-6 週(如果要 sensitive scope 更久)
  • 缺點:要建 OAuth Consent Screen,要驗證 domain,初次申請繁瑣
  • 適合:所有 web/mobile app 的「第一個 OAuth provider

Apple(Sign in with Apple)

  • 覆蓋率:⭐⭐⭐⭐(iPhone 用戶幾乎全部)
  • 複雜度:中(需要 Apple Developer 帳號 $99/年)
  • 成本:$99/年(Apple Developer Program 必須)
  • 審核時間:即時生效
  • 缺點:必須有 Apple Developer 帳號;如果你的 app 上 App Store,Apple 強制要求你必須提供 Sign in with Apple(如果你已經提供其他 third-party login)
  • 適合:iOS app、跨 iOS + Web 的服務

GitHub

  • 覆蓋率:⭐⭐⭐(~1 億開發者)
  • 複雜度:低(最簡單的 OAuth flow,5 分鐘可設定)
  • 成本:免費
  • 審核時間:即時生效
  • 缺點:用戶限定在「開發者」族群
  • 適合:開發者工具、技術文件平台、coding tutorial 網站

Microsoft(含 Outlook / Office 365 / GitHub via Microsoft)

  • 覆蓋率:⭐⭐⭐⭐(企業用戶幾乎都有 Microsoft 帳號)
  • 複雜度:中(Azure AD 設定有點繁瑣)
  • 成本:免費(個人帳號)/ Azure AD 企業版另計
  • 審核時間:即時生效
  • 缺點:對 consumer 不熟悉的 Azure portal
  • 適合:企業工具、B2B 產品

LINE Login

  • 覆蓋率:⭐⭐⭐⭐⭐ 在台灣 / 日本 / 泰國(台灣 ~95% 智慧型手機用戶)
  • 複雜度:中(需要 LINE Developers 帳號、Channel ID)
  • 成本:免費
  • 審核時間:即時生效(基本 scope)
  • 缺點:在其他國家用戶很少
  • 適合所有面向台灣 / 日本市場的 app——這是「在地化必裝」

Discord

  • 覆蓋率:⭐⭐⭐(~2 億活躍用戶,遊戲 / 社群偏重)
  • 複雜度:低(OAuth 2.0 標準)
  • 成本:免費
  • 審核時間:即時生效
  • 缺點:用戶族群偏年輕 / 遊戲玩家
  • 適合:遊戲相關工具、社群相關 app、Discord bot 配套網站

Facebook

  • 覆蓋率:⭐⭐⭐⭐(~30 億 monthly active)
  • 複雜度:高(Meta 的 Graph API 文件對新手不友善)
  • 成本:免費
  • 審核時間:first verification 4-8 週(很煩)
  • 缺點:年輕族群 Facebook 使用率下降;user 對隱私敏感
  • 適合:targeting 35+ 族群、需要 Facebook 社群圖譜的服務
  • 不適合:年輕族群為主的 app

Twitter / X

  • 覆蓋率:⭐⭐⭐
  • 複雜度:高(X 改了好幾次定價政策,現在 OAuth 也走 paid API tier)
  • 成本:⚠️ 2024 年起 OAuth login 成為付費 API 的一部分,最便宜的 Basic tier $200/月
  • 適合幾乎沒有個人開發者該用 X OAuth

Discord 替代:LINE Notify

LINE Notify 不是 OAuth provider,是「通知 push」服務。但很多台灣 app 會在 LINE Login 之後接 LINE Notify 用來推送訊息。這是一個只有台灣 / 日本市場才有的 trick,國際 app 不需要

推薦組合(依目標市場)

純台灣市場

LINE + Google——LINE 覆蓋率最高,Google 補上「LINE 帳號被盜了想找回」的場景

跨亞洲市場(台 / 日 / 韓 / 港 / 中)

Google + LINE + Apple——Google 是 baseline,LINE 對台日泰,Apple 對 iOS 用戶

全球 web app

Google + Apple + GitHub——Google 是 baseline,Apple 滿足 iOS 強制要求,GitHub 對開發者族群

B2B / 企業工具

Google + Microsoft——大部分企業用 Workspace 或 Office 365

開發者工具 / 技術社群

GitHub + Google——GitHub 對核心 user,Google 對其他

遊戲 / 年輕社群

Discord + Google + Apple——Discord 對 user 族群,Google + Apple 補完

實作上需要注意的 5 件事

1. 不要只接一個 provider

萬一這個 provider 的 OAuth 服務 down 了(過去都發生過),你的整個 app 變成沒人能登入。永遠至少接 2 個

2. email matching 要小心

不同 provider 給的 email 可能是同一個人。如果用戶先用 Google 登入,再用 GitHub 登入而 GitHub 的 email 也是同一個 Google 信箱,你應該自動 link 帳號還是建立兩個 user

我們的建議:verified email 相同就 auto-link,未驗證的不做 link 並提示用戶手動 merge。

3. scope 越少越好

不要一開始就要求所有可能用到的權限。最小 scope 原則:先要 email + profile,需要更多權限時再 incremental authorization。

4. storage 設計要支援多個 provider

不要把 googleIdappleId 直接存在 user table。設計一個 account_provider table,schema 像:

{ userId, provider, providerAccountId, email, ... }

5. 記得處理 token revocation

用戶在 Google 後台撤銷你的 app access 時,你應該偵測到並登出用戶。實作 webhook 或定期 refresh check。

推薦的第三方函式庫

如果你不想自己處理 OAuth 細節,這些函式庫已經把大部分 provider 包好:

  • NextAuth.js / Auth.js — Node.js / Next.js 必選,內建 50+ providers
  • Lucia Auth — 更輕量的 alternative,適合自己掌控細節
  • Clerk — SaaS,免費 5,000 MAU,內建 SSO + 2FA + email + 帳號管理 UI
  • Supabase Auth — 整合到 Supabase 生態系
  • Auth0 — 老牌但 enterprise 取向,個人免費 7,500 MAU
  • WorkOS — 重 enterprise 場景,SAML / SCIM 強

結論

90% 個人開發者的最佳第一步:用 NextAuth.js + 接 Google + LINE(如果是台灣市場),或 Google + Apple + GitHub(如果是國際市場)。半天可以搞定。

不要為了「未來可能需要」而一次接 7 個 provider。從必要的 1-2 個開始,根據實際 user request 慢慢加


資料來源

  1. OAuth 2.0 RFC 6749
  2. Google Identity — OAuth 2.0 for Web Apps
  3. Apple — Sign in with Apple
  4. GitHub — Authorizing OAuth Apps
  5. Microsoft Identity Platform documentation
  6. LINE Developers — LINE Login
  7. Discord Developer Portal — OAuth2
  8. Meta — Facebook Login for Web
  9. NextAuth.js / Auth.js Documentation
  10. Clerk vs Auth0 vs Supabase Auth comparison (2026)
嗨!我是糯米,陪你一起閱讀!🍌
Nomie Mascot