Laravel 環境多系統登入驗證架構設計
前言:
因應公司內部系統開發,我們將每個單位所使用的系統拆分開發,分散運行
因此在使用者登入檢查這一塊我們也開發了獨立的驗證、取得權限的套件,方便前端開發者可以直接使用登入以及取得權限的URL
系統架構:
如上圖所示,我們首先開發第一套驗證中心系統,主要邏輯負責管理人員、使用權限等資料
緊接著開發Auth套件,這個套件負責發出以及接收登入、取用權限等等API資料流
未來在每一套系統中,只要安裝這個Auth套件後端就已經完成了登入處理的作業
資料流:
- 由前端發起登入需求,送出帳號密碼資訊到自己系統(A)後端api/auth/login (紅線)
- Auth套件收到需求後會找到驗證中心的Auth URL進行資料驗證 (紅線)
- 驗證中心處理完成後返回jwt token到(A)系統後端 (綠線)
- (A)系統收到jwt token後返回給前端 (綠線)
- 前端再次發起取用(A)系統權限到自己係統(A)後端api/auth/permission/{system} (紫線)
- Auth套件收到需求後會找到驗證中心的Permission URL進行權限資料存取 (紫線)
- 驗證中心處理完成後返回登入者所有使用權限到(A)系統後端 (黃線)
- (A)系統收到權限json後返回給前端 (黃線)
以上8個步驟完成所有登入流程
詳細可參考下篇 : [package]