1.需求場景
隨著業務發展,一個企業開發、運營了多個網站,同時也產生了一些亟待解決的問題。
- 用戶使用每個網站前,需要重複註冊,需要記住對應的賬號和密碼。
- 用戶使用每個網站時,需要一次次重新登錄。
- 用戶只是瞭解一個個獨立的網站,企業沒有在用戶心中形成統一的形象。
- 每個產品都需要重複設計、開發和維護註冊、登錄等模塊。
- 用戶的信息分散在各個網站中,不利於更好的瞭解用戶。
2.解決方案
2.1 方案說明
本解決方案基於OAuth2 協議,為網站用戶提供跨網站的流暢登錄體驗,且擁有高性價比的彈性伸縮能力。
- 統一認證中心:基於 Spring Cloud Security、JWT、OAuth2 協議,提供統一認證能力,負責用戶認證數據的統一管理。
- 需接入的網站:基於 SSO-SDK,輕量級接入統一認證體系,與統一認證中心協作,提供用戶暢遊企業各產品網站的最佳瀏覽體驗。
- 管理中心:負責管理需接入網站的認證管理,保證統一認證體系的安全與可控。
- 關於用戶的登錄頁,為保證用戶的統一體驗及統一企業品牌,推薦採用統一登錄頁的方案,同時支持少數網站需要自定義的特殊需求。
- 基於微服務+阿里雲容器服務,提供高性價比的彈性伸縮能力。
2.2.方案優勢
- 遵循主流的OAuth2開放協議,除能打通內部系統的用戶數據外,還可在授權允許情況下,允許外部系統使用本系統的用戶進行登錄,如常見微信登錄、QQ登錄等。
- Spring Security 框架技術成熟且社區活躍,穩定性有保證。
- 在Spring Security 框架基礎上,進行增強擴展,可滿足密碼模式下的sso場景。
- 支持跨域單點登錄。
- 基於阿里雲基礎設施的構建,整體系統穩定可靠。
- 充分發揮阿里雲的彈性伸縮能力,即可控制成本,又可適應用戶數量的爆發式增長。
- 兼顧私有云、傳統 IDC 部署環境,滿足不同客戶的運行環境的需求。
3. 客戶價值
基於此方案,幫助企業打通各產品的用戶體系,且實現多種場景下的免登。企業擁有企業級的統一賬號體系,建立統一企業品牌,提升用戶註冊與登錄場景的體驗。
- 統一的用戶認證體系,實現統一認證、跨網站免登,實現 SSO。
- 統一的用戶數據庫,實現用戶數據的聚合,幫助企業更懂用戶。
- 企業級網站的統一登錄頁,統一品牌形象,統一用戶體驗。
- 支持產品根據特殊性選擇自定義登錄頁。
- 支持用戶名、手機號、郵箱等多種認證方式的擴展。
3.1 網站用戶的收益
- 一次註冊即可使用所有企業運營的產品,無需反覆填寫註冊信息
- 一次登錄即可所有企業運營的所有產品,即安全又便捷
3.2 企業的收益
- 降低用戶試用企業運營產品的門檻,利於交叉營銷。
- 減少用戶反覆登錄,利於產品用戶促活。
- 減少產品研發中的重複建設,降低成本,提升產品推進效率。
- 統一建設認證中心,便於統一和提升所有產品的賬號安全。
4. 關於登錄頁的說明
4.1 模式一:統一登錄頁的SSO
此種模式無需網站實現登錄頁、登錄接口的開發,未登錄狀態的用戶會自動被引導到統一認證中心去登錄。
4.1.1 實現原理
4.1.2 說明
技術實現整體使用spring-securiry-oauth2的 “授權碼模式” 來進行實現。
4.2 模式二:網站自定義登錄頁
4.2.1 實現原理
4.2.2 說明
在統一認證中心與網站的實現上,除spring-securiry-oauth2之外,還需要引入雲頂雲研發的 “密碼模式SSO” 擴展包來進行實現。
雲頂雲(yundingyun.com)是國內首批專注於雲計算服務的提供商,致力於“讓雲計算更簡單”。做為阿里雲五星授權服務中心,雲頂雲致力於為企業和政府提供方案諮詢、架構設計、部署實施、系統定製、運維託管、技術培訓等全方位“4S”級公有云、私有云定製化服務。