單點登錄治力,簡稱sso ?(Single Sign On)
在一家互聯(lián)網(wǎng)公司如果有多個產(chǎn)品線,不同的產(chǎn)品需要用到同一套賬號體系岸浑,這就引入單點登錄泼返。不會存在不同的產(chǎn)品使用不同的賬號。
既然是同一套賬號體系优妙,所以在數(shù)據(jù)庫端就需要有一個賬號中心乘综,用來管理賬號,例如父應(yīng)用套硼,子應(yīng)用卡辰,是共用同一套賬號體系,用戶在父應(yīng)用注冊了賬號邪意,這時候賬號中那邊就新增了一個賬號九妈,這時候用戶想在子應(yīng)用登錄,只需要授權(quán)即可登錄雾鬼,不需要在注冊萌朱。
我們常見的微信,而我們要登錄微信郵箱策菜,微信讀書煮嫌,等等產(chǎn)品,這時候只需要授權(quán)登錄即可嫡良,這里需要是騰訊的產(chǎn)品麻诀,不是騰訊的產(chǎn)品,例如我們這的簡書蠢莺,是通過微信登錄寒匙,這只是獲取微信頭像昵稱等基本信息,和登錄微信讀書等是不同的躏将。
這就是單點登錄锄弱,那么如何設(shè)計單點登錄,作為設(shè)計人員要注意些什么祸憋,哪些字段值共享共用的会宪,哪些字段是專屬的?
說到賬號蚯窥,從簡設(shè)計掸鹅,手機號加+驗證碼喜命,即可以完成注冊并登錄的動作。常規(guī)賬號體系統(tǒng)河劝,還需要有密碼壁榕,可以考慮綁定郵箱,微信赎瞎,等第三方應(yīng)用牌里。根據(jù)具體的應(yīng)用場景共享共用的字段宜少不宜多。設(shè)計到具體業(yè)務(wù)層的字段务甥,則在具體業(yè)務(wù)層上添加該賬號信息牡辽,他也不屬于賬號中心。
單點登錄方式是通過cookie作為憑證媒介敞临,存放在用戶端态辛,用戶登父應(yīng)用注冊并之后,應(yīng)用返回一個加密的cookie挺尿,當(dāng)用戶訪問子應(yīng)用奏黑,攜帶上這個cookie,授權(quán)應(yīng)用解密cookie并進(jìn)行校驗编矾,校驗通過則登錄當(dāng)前用戶熟史。