開發文件
簡介
單一登入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內帳號系統關聯 |
| 適用於認證系統中已經集成了相關功能,或背景知識較強的使用者 |
自訂API | 簡化的 SAML 協議,企業客戶可在現有 SSO API基礎上進行修改,按照Jodoo的要求調用服務和返回參數,並將認證後的使用者資訊返回給Jodoo,完成帳號關聯。 |
| 適用於自己開發相關API與Jodoo對接的使用者。 |
CAS | 允許使用者造訪多個應用程式,同時僅向中央CAS 伺服器應用程式提供一次憑據(如使用者名和密碼)。 |
| 適用於認證系統中已經集成了相關功能的使用者 |