開發指南
預備知識
在進一步閱讀之前,您需要了解以下預備知識:
- 什麼是單點登入?
單點登入指使用者在認證中心登入後,即同時登入到所有與此認證中心關聯的所有服務中。
舉例:您只需登入 Google 即可以已登入使用者的身份造訪 Youtube 和 Gmail。
- 單點登入流程中的 IdP 和 SP 是什麼?
IdP 是 Identity Provider 的縮寫,指認證中心,在認證過程中 IdP 持有使用者資訊,並與使用者建立會話。
SP 是 Service Provider 的縮寫,指服務提供者,當使用者造訪 SP 提供的服務時,如果 SP 無法辨識使用者,會請求 IdP 對使用者進行認證。
舉例:IdP - XXX 內部員工系統,SP - Jodoo。
- 什麼是 SAML?
SAML 是一種單點登入實現協議,這是一個傳統協議,並集成在很多現有的系統中,如 Windows AD 和 Apereo CAS。
- 什麼是 JWT?
JWT 是一種資料交換格式,本質是一個 Encode 後的 JSON,其中包含了使用者客製化的消息,以及一些輔助驗證欄位,如簽名,過期時間。
單點登入配置簡述
Jodoo支持單點登入,並在單點登入過程中扮演 SP 身份。在管理員啓用單點登入功能後,當一個未登入的成員造訪Jodoo時,Jodoo會將此請求重定向至管理員配置的 IdP 地址。此時如果成員登入過 IdP,則 IdP 只需讀取會話中的使用者資訊並將其通過配置的方式返回給Jodoo,Jodoo即可辨識此成員並提供後續服務。流程大致如下:
Jodoo支持兩種協議的單點登入:
- SAML:主要針對認證系統中已經集成了相關功能,或背景知識較強的使用者。
優點:通用協議,如果已集成了相關功能則可以直接配置複用,也可以使用如OneLogin 這樣的認證服務提供者。
缺點:如果沒有集成相關功能,使用者需要自行開發對接層,開發難度較高。
- 客製化接口:主要針對自己開發相關接口與Jodoo對接的使用者。
優點:易於理解,開發簡單。
缺點:這是Jodoo的自有協議,使用者需要自行開發對接層。