單點登錄的標(biāo)準(zhǔn)流程

用戶訪問app系統(tǒng),app系統(tǒng)是需要登錄的,但用戶現(xiàn)在沒有登錄。

跳轉(zhuǎn)到CAS server,即SSO登錄系統(tǒng), SSO系統(tǒng)也沒有登錄,彈出用戶登錄頁。

用戶填寫用戶名、密碼,SSO系統(tǒng)進(jìn)行認(rèn)證后,將登錄狀態(tài)寫入SSO的session,瀏覽器(Browser)中寫入SSO域下的Cookie。

SSO系統(tǒng)登錄完成后會生成一個ST(Service Ticket),然后跳轉(zhuǎn)到app系統(tǒng),同時將ST作為參數(shù)傳遞給app系統(tǒng)。

app系統(tǒng)拿到ST后,從后臺向SSO發(fā)送請求,驗證ST是否有效。

驗證通過后,app系統(tǒng)將登錄狀態(tài)寫入session并設(shè)置app域下的Cookie。

至此,跨域單點登錄就完成了。以后我們再訪問app系統(tǒng)時,app就是登錄的。接下來,我們再看看訪問app2系統(tǒng)時的流程。

用戶訪問app2系統(tǒng),app2系統(tǒng)沒有登錄,跳轉(zhuǎn)到SSO。

由于SSO已經(jīng)登錄了,不需要重新登錄認(rèn)證。

SSO生成ST,瀏覽器跳轉(zhuǎn)到app2系統(tǒng),并將ST作為參數(shù)傳遞給app2。

app2拿到ST,后臺訪問SSO,驗證ST是否有效。

驗證成功后,app2將登錄狀態(tài)寫入session,并在app2域下寫入Cookie。

這樣,app2系統(tǒng)不需要走登錄流程,就已經(jīng)是登錄了。SSO,app和app2在不同的域,它們之間的session不共享也是沒問題的。

SSO系統(tǒng)登錄后,跳回原業(yè)務(wù)系統(tǒng)時,帶了個參數(shù)ST,業(yè)務(wù)系統(tǒng)還要拿ST再次訪問SSO進(jìn)行驗證,假如SSO登錄認(rèn)證通過后,通過回調(diào)地址將用戶信息返回給原業(yè)務(wù)系統(tǒng),原業(yè)務(wù)系統(tǒng)直接設(shè)置登錄狀態(tài),這樣流程簡單,也完成了登錄,不是很好嗎?

其實這樣問題時很嚴(yán)重的,如果我在SSO沒有登錄,而是直接在瀏覽器中敲入回調(diào)的地址,并帶上偽造的用戶信息,是不是業(yè)務(wù)系統(tǒng)也認(rèn)為登錄了呢?這是很可怕的

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 單點登錄(SSO)看這一篇就夠了-云棲社區(qū)-阿里云 背景 在企業(yè)發(fā)展初期,企業(yè)使用的系統(tǒng)很少,通常一個或者兩個,每...
    DavieKong閱讀 831評論 0 4
  • 用戶訪問app系統(tǒng),app系統(tǒng)是需要登錄的,但用戶現(xiàn)在沒有登錄。跳轉(zhuǎn)到CAS server,即SSO登錄系統(tǒng),以后...
    月下圍城閱讀 1,044評論 0 0
  • 背景 在企業(yè)發(fā)展初期,企業(yè)使用的系統(tǒng)很少,通常一個或者兩個,每個系統(tǒng)都有自己的登錄模塊,運營人員每天用自己的賬號登...
    指尖跳動閱讀 313評論 0 3
  • 背景 在企業(yè)發(fā)展初期,企業(yè)使用的系統(tǒng)很少,通常一個或者兩個,每個系統(tǒng)都有自己的登錄模塊,運營人員每天用自己的賬號登...
    do_young閱讀 645評論 1 3
  • 久違的晴天,家長會。 家長大會開好到教室時,離放學(xué)已經(jīng)沒多少時間了。班主任說已經(jīng)安排了三個家長分享經(jīng)驗。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,788評論 16 22

友情鏈接更多精彩內(nèi)容