認證服務-C端

c端認證服務

  • 協(xié)議
    oauth協(xié)議查詢用戶是否存在
    oids協(xié)議查詢用戶擁有的權限緩存到自包含的jwt對象
  • jwt對象
    由客戶端本地持有緩存,大大減輕了服務端的壓力
    訪問令牌,過期時間短30min
    刷新令牌,過期時間長7天
    訪問令牌過期不用跳轉登陸頁面,自動由刷新令牌申請新的訪問令牌

其他業(yè)務微服務如何驗證jwt對象
使用與認證服務相同的公鑰對jwt對象的payload部分重新計算簽名
然后對比簽名是否與jwt對象的簽名部分一致
認證服務簽發(fā)jwt對象時,將客戶端指紋比如設備id嵌入到payload部分,同理其他微服務驗證時從payload部分提取客戶指紋驗證是否一致

  • jwt對象為什么由客戶端本地持有
  1. 減輕服務端查詢壓力,想象一下如果未緩存,每一個用戶請求都需要進行鑒權
  2. 由于jwt對象自包含,認證服務簽發(fā)一個jwt后,其他業(yè)務微服務都可以直接對jwt對象進行密碼學驗證后即可使用,無需訪問認證服務實現(xiàn)了解藕,從而實現(xiàn)了【單點登陸】功能
  3. jwt在客戶端存儲所以服務端無狀態(tài),方便橫向擴展,不存在需要對權限對象進行復制的問題
  • 風險
    一致性問題:jwt對象何時更新
    -》 設置較短的過期時間
    將某個簽發(fā)但未過期的token加入黑名單過濾
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容