基于token的多平臺身份認(rèn)證架構(gòu)設(shè)計(jì)
1 概述
在存在賬號體系的信息系統(tǒng)中,對身份的鑒定是非常重要的事情。
隨著移動互聯(lián)網(wǎng)時代到來,客戶端的類型越來越多, 逐漸出現(xiàn)了 一個服務(wù)器,N個客戶端的格局 。
不同的客戶端產(chǎn)生了不同的用戶使用場景,這些場景:
- 有不同的環(huán)境安全威脅
- 不同的會話生存周期
- 不同的用戶權(quán)限控制體系
- 不同級別的接口調(diào)用方式
綜上所述,它們的身份認(rèn)證方式也存在一定的區(qū)別。
本文將使用一定的篇幅對這些場景進(jìn)行一些分析和梳理工作。
2 使用場景
下面是一些在IT服務(wù)常見的一些使用場景:
- 用戶在web瀏覽器端登錄系統(tǒng),使用系統(tǒng)服務(wù)
- 用戶在手機(jī)端(Android/iOS)登錄系統(tǒng),使用系統(tǒng)服務(wù)
- 用戶使用開放接口登錄系統(tǒng),調(diào)用系統(tǒng)服務(wù)
- 用戶在PC處理登錄狀態(tài)時通過手機(jī)掃碼授權(quán)手機(jī)登錄(使用得比較少)
- 用戶在手機(jī)處理登錄狀態(tài)進(jìn)通過手機(jī)掃碼授權(quán)PC進(jìn)行登錄(比較常見)
通過對場景的細(xì)分,得到如下不同的認(rèn)證token類別:
-
原始賬號密碼類別
- 用戶名和密碼
- API應(yīng)用ID/KEY
-
會話ID類別
- 瀏覽器端token
- 移動端token
- API應(yīng)用token
-
接口調(diào)用類別
- 接口訪問token
-
身份授權(quán)類別
- PC和移動端相互授權(quán)的token
3 token的類別
不同場景的token進(jìn)行如下幾個維度的對比:
天然屬性 對比:
-
使用成本
本認(rèn)證方式在使用