同一組帳密可以切換多個應用服務!軟體公司常見的 SSO (Single Sign-on) 是什麼?|專家論點【朱騏】

圖片來源:Freepik

當我們使用大型網路公司的服務時,大家是否發現:我們竟然可以使用同一組帳號,在多個應用服務切換。

最明顯的例子就是 Google 服務,只要登入一次,就可以在以下服務切換

  • Gmail
  • YouTube
  • Google Meet
  • Google Chat
  • Google Analytics

但為什麼可以這樣呢?這背後使用到的技術,稱為 SSO (Single sign-on)。

這篇文章會解釋

  • SSO 是什麼
  • SSO 的兩種設計協定

SSO 是什麼

SSO 是一個授權架構 (Authentication Scheme),它提供使用者可以用單一帳號使用同一組織下的多個應用服務 (Applications)。

使用 SSO 的組織例子有

  • Gmail
  • workday (美國知名的財務管理 & 人力資源管理 SaaS)
  • Slack

SSO 省去了使用者記憶多組的麻煩,能快速在同組織的不同服務下一鍵切換。

p-2022112020042222
圖片來源:ByteByteGo

SSO 的兩種設計協定

SSO 是以「聯合身分(federated identity)」的概念設計而成。聯合身分能夠跨多個信任的獨立系統,彼此分享使用者的身分資訊。

基於此概念,有兩種設計協定:

  • OpenID Connect
  • SAML (Security assertion markup language, 安全聲明標記語言)

OpenID Connect

常見的 Google Sign in 頁面就使用了 OpenID Connect。

在 Google 使用 SSO 登入後,可以用一個 Google 帳號使用以下服務

  • Gmail
  • YouTube
  • Google Analytics

OpenID Connect 使用 JWT (JSON Web Token) 來分享身分資訊,JWT 是經過簽署的 JSON 檔案。下方是 JWT 檔案的範例:

圖片來源:ByteByteGo

什麼是SAML?

另外一種 SSO 設計協定。

以 XML 來分享身分資訊,在大型企業的工作環境也很常看到。例如

  • Microsoft 的 AD RMS
  • Dropbox
  • Slack
  • Salesforce
  • Sentry
  • Zoom

用於使用者後續登入 SaaS 服務。

下一篇我們實際來說說「當使用者使用 SSO 登入 Gmail 後,背後系統間發生的事情。」

此篇文章主要參考 ByteByteGo YouTube - What Is Single Sign-on (SSO)? How It Works

瀏覽 2,808 次

覺得不錯的話就分享出去吧!

發佈留言

Back to top button