單點登陸實現方案

單點登錄實現方案設計api

總體流程:

設計思路:

單點登陸涉及 sso 認證中心與衆子系統,子系統與 sso 認證中心須要通訊以交換令牌、校驗令牌及發起註銷請求,於是子系統必須集成 sso 的客戶端,sso 認證中心則是 sso 服務端,整個單點登陸過程實質是 sso 客戶端與服務端通訊的過程,可用下部署圖描述:restful

sso 認證中心與 sso 客戶端通訊方式有多種,HttpClient,WebService、rpc、restful
api 均可以,考慮各系統採用B/S架構,這裏咱們應用廣泛的httpClient便可。架構

實現原理:

SSO Client

  • 攔截子系統未登陸用戶請求,跳轉至 sso 認證中心設計

  • 接收並存儲 sso 認證中心發送的令牌rest

  • 與 SSO Server 通訊,校驗令牌的有效性server

  • 創建局部會話blog

  • 攔截用戶註銷請求,向 sso 認證中心發送註銷請求文檔

  • 接收 sso 認證中心發出的註銷請求,銷燬局部會話rpc

SSO Server

  • 驗證用戶的登陸信息部署

  • 建立全局會話

  • 建立受權令牌

  • 與 SSO Client 通訊發送令牌

  • 校驗 SSO Client 令牌有效性

  • 系統註冊

  • 接收 SSO Client 註銷請求,註銷全部會話

實現方案:

主系統(認證中心):

  • 主系統集成認證中心服務sso server,由主系統確認用戶的登陸操做。

子系統:

  • 子系統可經過集成sso
    client服務(可經過http請求方式)肯定用戶是否登陸以及用戶對應的響應角色信息,用戶登陸後經過主系統重定向到各個子系統服務。

無狀態交互:

  • 無狀態的註冊,授權等操做可直接由主系統經過httpclient方式直接向自服務發送請求,具體參見文檔:針對第三方系統登陸方案設計說明文檔.doc
相關文章
相關標籤/搜索