SSO(Single Sign-On)是什么?
前沿技術(shù)?/ 最新技術(shù)
由于微信公眾號(hào)近期改變了推送規(guī)則,如果你想第一時(shí)間看到我的文章就置頂+星標(biāo)公眾號(hào)。
單點(diǎn)登錄(SingleSignOn,SSO),就是通過(guò)用戶的一次性鑒別登錄。當(dāng)用戶在身份認(rèn)證服務(wù)器上登錄一次以后,即可獲得訪問(wèn)單點(diǎn)登錄系統(tǒng)中其他關(guān)聯(lián)系統(tǒng)和應(yīng)用軟件的權(quán)限,同時(shí)這種實(shí)現(xiàn)是不需要管理員對(duì)用戶的登錄狀態(tài)或其他信息進(jìn)行修改的,這意味著在多個(gè)應(yīng)用系統(tǒng)中,用戶只需一次登錄就可以訪問(wèn)所有相互信任的應(yīng)用系統(tǒng)。這種方式減少了由登錄產(chǎn)生的時(shí)間消耗,輔助了用戶管理,是比較流行的。
也就是說(shuō),SSSO是一個(gè)認(rèn)證規(guī)則,它允許用戶使用同一個(gè)ID登錄不同的系統(tǒng)。

我們通過(guò)上面的圖來(lái)說(shuō)一下SSO的流程:
Step1:
用戶訪問(wèn)Gmail,Gmail發(fā)現(xiàn)用戶還沒(méi)登陸過(guò),于是將用戶重定向到SSO認(rèn)證服務(wù)器,SSO認(rèn)證服務(wù)器同樣也會(huì)發(fā)現(xiàn)用戶還沒(méi)登陸。
用戶被帶到一個(gè)SSO登錄頁(yè)面,用戶可以在這個(gè)頁(yè)面上輸入認(rèn)證信息。
Step2-3:
SSO認(rèn)證服務(wù)器校驗(yàn)用戶輸入的認(rèn)證信息,然后會(huì)給用戶創(chuàng)建Global Session,另外還會(huì)創(chuàng)建一個(gè)Token。
Step4-7:
Gmail會(huì)去SSO認(rèn)證服務(wù)器上校驗(yàn)這個(gè)token,SSO認(rèn)證服務(wù)器會(huì)登記Gmail,然后返回“valid”。接著Gmail會(huì)將受保護(hù)的資源返回給用戶。
Step8:
用戶此時(shí)從Gmail再去到另一個(gè)屬于Google的網(wǎng)站,比如Youtube。
Step9-10:
Youtube發(fā)現(xiàn)用戶并沒(méi)有登錄過(guò),于是會(huì)向SSO認(rèn)證服務(wù)器請(qǐng)求認(rèn)證。SSO認(rèn)證服務(wù)器發(fā)現(xiàn)用戶已經(jīng)登陸過(guò),并且將Token也返回回去。
Step11-14:
Youtube同樣會(huì)去SSO認(rèn)證服務(wù)器上校驗(yàn)這個(gè)Token。SSO認(rèn)證服務(wù)器會(huì)將Youtube的登記,并且返回“valid”給Youtube,Youtube接下來(lái)就會(huì)將受保護(hù)的資源返回給用戶。


