一分鐘了解單點登錄
什么是單點登錄?
單點登錄(SSO,Single Sign On),是在企業(yè)內(nèi)部多個應(yīng)用系統(tǒng)(如考勤系統(tǒng)、財務(wù)系統(tǒng)、人事系統(tǒng)等)場景下,用戶只需要登錄一次,就可以訪問多個應(yīng)用系統(tǒng)。同理用戶只需注銷一次,就可以從多個應(yīng)用系統(tǒng)退出登錄。簡單來說就是,一次登錄,全部登錄!一次注銷,全部注銷?。?/span>
實現(xiàn)的原理
單點登錄的實現(xiàn)原理說明如下:
1. 用戶首次訪問系統(tǒng)A時,需要進(jìn)行登錄。
2. 系統(tǒng)A帶著用戶登錄信息重定向給認(rèn)證系統(tǒng)。
3. 認(rèn)證系統(tǒng)驗證用戶登錄信息。
4. 驗證通過后,返回一個token,token類似一種內(nèi)部的通行證,包含了用戶身份信息、登錄狀態(tài)和過期時間,在各個系統(tǒng)間共享。
5. 認(rèn)證系統(tǒng)帶著token重定向給系統(tǒng)A,得知用戶是已登錄狀態(tài)。
6. 系統(tǒng)A向用戶返回請求的資源。
7. 用戶訪問系統(tǒng)B時,需要進(jìn)行登錄。
8. 系統(tǒng)B通過共享的token,得知用戶是已登錄狀態(tài)。
9. 系統(tǒng)B向用戶返回請求的資源。
Token是有時效性的,如果用戶長時間沒有操作,token將會過期。
Token過期后用戶再次訪問系統(tǒng)A、系統(tǒng)B時,登錄狀態(tài)已失效,需要重新登錄。
對于注銷場景,與上述流程類似。
用戶主動從系統(tǒng)A注銷時,系統(tǒng)A調(diào)用認(rèn)證系統(tǒng),清除token。
此時用戶再訪問系統(tǒng)A、系統(tǒng)B時,通過共享的token得知用戶是已注銷狀態(tài),需要重新登錄。
總結(jié)
單點登錄通過在用戶和系統(tǒng)之間引入認(rèn)證系統(tǒng)。
以往用戶需要分別對接各個應(yīng)用系統(tǒng)進(jìn)行登錄/注銷,現(xiàn)在用戶只需要單獨(dú)對接認(rèn)證系統(tǒng)進(jìn)行登錄/注銷。
登錄狀態(tài)在各個應(yīng)用系統(tǒng)間共享,體現(xiàn)了把簡單留給用戶,把復(fù)雜留給后臺系統(tǒng)的設(shè)計理念。極大節(jié)省了用戶時間,提高了用戶體驗。