基于token的多平臺身份認(rèn)證架構(gòu)設(shè)計(jì)

1   概述

在存在賬號體系的信息系統(tǒng)中,對身份的鑒定是非常重要的事情。

隨著移動互聯(lián)網(wǎng)時代到來,客戶端的類型越來越多, 逐漸出現(xiàn)了 一個服務(wù)器,N個客戶端的格局 。

不同的客戶端產(chǎn)生了不同的用戶使用場景,這些場景:

  1. 有不同的環(huán)境安全威脅
  2. 不同的會話生存周期
  3. 不同的用戶權(quán)限控制體系
  4. 不同級別的接口調(diào)用方式

綜上所述,它們的身份認(rèn)證方式也存在一定的區(qū)別。

本文將使用一定的篇幅對這些場景進(jìn)行一些分析和梳理工作。

2   使用場景

下面是一些在IT服務(wù)常見的一些使用場景:

  1. 用戶在web瀏覽器端登錄系統(tǒng),使用系統(tǒng)服務(wù)
  2. 用戶在手機(jī)端(Android/iOS)登錄系統(tǒng),使用系統(tǒng)服務(wù)
  3. 用戶使用開放接口登錄系統(tǒng),調(diào)用系統(tǒng)服務(wù)
  4. 用戶在PC處理登錄狀態(tài)時通過手機(jī)掃碼授權(quán)手機(jī)登錄(使用得比較少)
  5. 用戶在手機(jī)處理登錄狀態(tài)進(jìn)通過手機(jī)掃碼授權(quán)PC進(jìn)行登錄(比較常見)

通過對場景的細(xì)分,得到如下不同的認(rèn)證token類別:

  1. 原始賬號密碼類別
    • 用戶名和密碼
    • API應(yīng)用ID/KEY
  2. 會話ID類別
    • 瀏覽器端token
    • 移動端token
    • API應(yīng)用token
  3. 接口調(diào)用類別
    • 接口訪問token
  4. 身份授權(quán)類別
    • PC和移動端相互授權(quán)的token