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