開發文件

簡介

單一登入Single Sign On,簡稱為 SSO。SSO是在多個應用系統中,使用者只需要登入一次就可以造訪所有相互信任的應用系統,是目前比較流行的企業業務整合的解決方案之一。

開發步驟

開發預備

1. 預備知識

在開始開發之前,您需要了解以下預備知識:

a. 什麼是單點登入?

單點登入指使用者在認證中心登入後,即同時登入到所有與此認證中心關聯的所有服務中。如您只需登入 Google 即可以已登入使用者的身份造訪 Youtube 和 Gmail。

b. 單點登入流程中的 IdP 和 SP 是什麼?

  • IdP 是 Identity Provider 的縮寫,指認證中心,在認證過程中 IdP 持有使用者資訊,並與使用者建立會話。
  • SP 是 Service Provider 的縮寫,指服務提供者,當使用者造訪 SP 提供的服務時,如果 SP 無法辨識使用者,會請求 IdP 對使用者進行認證。

c. 什麼是 SAML?

SAML 是一種單點登入實現協議,這是一個傳統協議,並集成在很多現有的系統中,如 Windows AD 和 Apereo CAS。

d. 什麼是 JWT?

JWT 是一種資料交換格式,本質是一個 Encode 後的 JSON,其中包含了使用者自訂的訊息,以及一些輔助驗證欄位,如簽名,過期時間。

2. 工作原理

SAML(安全斷言標記語言)是一種 XML 開放標準,SAML 2.0 、CAS 和自訂API都基於這種協議。SAML 用於在服務提供者身份提供者之間交換身份驗證資訊

  • 服務提供者:SP,Service Provider,這裡指Jodoo;
  • 身份提供者:IdP,Identity Provider,這裡指企業內部或第三方的身份驗證系統。

使用者透過 IDP 發起登入時,將使用 IDP 進行身份驗證,驗證透過後跳轉至Jodoo。如果 IDP 身份未得到驗證,你的使用者將被導航至 IDP 的登入界面先進行登入驗證,透過後跳轉至Jodoo。

3. 配置流程

Jodoo在單點登入過程中扮演 SP 身份。在管理員啟用單點登入功能後,當一個未登入的成員造訪Jodoo時,Jodoo會將此請求重定向至管理員配置的 IDP 地址。此時如果成員登入過 IDP,則 IDP 只需讀取會話中的使用者資訊並將其透過配置的方式返回給Jodoo,Jodoo即可辨識此成員並提供後續服務。流程大致如下:

申請試用

1. 本功能為付費進階功能,需Jodoo企業版及以上版本可用。若您需要體驗使用該功能,請聯繫技術支持

2. 若您在使用中遇到問題,可以諮詢銷售團隊

配置方式

Jodoo中支援三種單點登入的配置方式:

配置方式

說明

優缺點

適用對象

SAML2.0

安全斷言標記語言,使用統一的身份提供服務(IDP)驗證使用者身份,然後將認證後的安全斷言和使用者資訊返回給Jodoo,Jodoo將使用者與Jodoo內帳號系統關聯

  • 優點:通用協議,若已集成了相關功能則可以直接配置複用,也可以使用如 OneLogin 這樣的認證服務提供者。
  • 缺點:如果沒有集成相關功能,使用者需要自行開發對接層,開發難度較高。

適用於認證系統中已經集成了相關功能,或背景知識較強的使用者

自訂API

簡化的 SAML 協議,企業客戶可在現有 SSO API基礎上進行修改,按照Jodoo的要求調用服務和返回參數,並將認證後的使用者資訊返回給Jodoo,完成帳號關聯。

  • 優點:易於理解,開發簡單。
  • 缺點:這是Jodoo的自有協議,使用者需要自行開發對接層。

適用於自己開發相關API與Jodoo對接的使用者。

CAS

允許使用者造訪多個應用程式,同時僅向中央CAS 伺服器應用程式提供一次憑據(如使用者名和密碼)。

  • 優點: 通用協議, 並且有開源的 IdP 實現如 Apereo CAS 和 Cloak。
  • 缺點: 如果沒有集成相關功能,使用者需要自行開發對接層,開發難度中等。

適用於認證系統中已經集成了相關功能的使用者

這項資訊有幫助嗎?
需要更多協助嗎?聯繋技術支援。