單點登錄票據的實現方式


好久沒有寫點東西了,今天抽空回憶了一下公司單點登錄的方案,我們公司采用的是票據的模式通過jwt實現的單點登錄,梳理了一下流程,主要分為2個部分,1、拉取登錄信息 2、從token中獲取登錄的憑據
1、拉取登錄信息,這部分主要是為了前端通過賬號密碼登錄時候獲取各個系統信息的token,整體流程如下

用戶通過頒發token的接口獲取到一個包含各個系統信息的token,之后在調用其他的的接口時,都要帶上該token

2、從token中獲取登錄的憑據,這部主要是為獲取不同系統登陸后返回的信息,整體流程如下

當用戶請求對應系統模塊的接口時,會從請求的token中解析出對應系統的登錄憑據,如果為獲取到憑據,獲取憑據過期,則返回和前端約定好的異常(即用戶過期),讓用戶重新登錄

最后總結:
1、不同系統可能登錄的機制不一樣,過期時間也不一樣,各個系統都是token的還好解決,存在過期時間,但是一些系統登錄成功后返回只是一個cookie,那么你就需要知道對應系統cookie的過期時間,將登錄信息做到緩存中,
這樣可以增加一個過期時間,如果不知道什么時候過期,那就需要增加對應的業務重登邏輯

2、整體的流程和jwt的認證是差不多,只是將其他系統的登錄信息放入了jwt的token中,掌握好jwt其實就能理解

3、最后因為token的信息很容易被破解,所以中間傳輸的token最好再次進行加解密


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM