999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CAS 和OAuth 的統(tǒng)一認(rèn)證授權(quán)系統(tǒng)設(shè)計(jì)

2021-06-24 07:59:40強(qiáng)
關(guān)鍵詞:頁(yè)面用戶系統(tǒng)

李 強(qiáng)

(中電金信軟件有限公司,浙江 杭州310000)

0 引言

銀行的應(yīng)用系統(tǒng)越來(lái)越多,每個(gè)系統(tǒng)單獨(dú)管理各自的用戶,容易形成信息孤島,分散的用戶管理模式阻礙了銀行應(yīng)用向平臺(tái)化演進(jìn)。當(dāng)銀行的業(yè)務(wù)發(fā)展到一定規(guī)模,構(gòu)建統(tǒng)一的賬戶管理體系將是必不可少的,因?yàn)樗倾y行未來(lái)互聯(lián)網(wǎng)云平臺(tái)的重要基礎(chǔ)設(shè)施,能夠?yàn)槠脚_(tái)帶來(lái)統(tǒng)一的賬號(hào)管理、身份認(rèn)證和用戶授權(quán),為銀行帶來(lái)諸如跨系統(tǒng)單點(diǎn)登錄、第三方授權(quán)等基礎(chǔ)能力,為構(gòu)建開(kāi)放平臺(tái)和業(yè)務(wù)生態(tài)提供必要的條件。

常見(jiàn)的賬戶管理產(chǎn)品有:CA 公司的SiteMinder,其價(jià)格昂貴;IBM 公司的 Tivoli Access Manager,其需購(gòu)買且和 IBM 其他產(chǎn)品結(jié)合較緊密;Atlassian 公司的 Crowd,其需購(gòu)買且和自家的 Jira、Confluence 結(jié)合較緊密;Oracle 公司的OpenAM,它是一個(gè)率先開(kāi)源的認(rèn)證授權(quán)產(chǎn)品,對(duì)Oracle 的產(chǎn)品支持較好;耶魯太學(xué)發(fā)起的開(kāi)源項(xiàng)目CAS(Central Authentication Service),其簡(jiǎn)單、實(shí)效、安全,支持多種客戶端,支持單點(diǎn)登錄(Single Sign On,SSO)、開(kāi)放授權(quán)(Open Authorization,OAuth)等。

考慮到費(fèi)用、易用性、支持廣泛度等因素,本設(shè)計(jì)選擇了開(kāi)源產(chǎn)品CAS。

1 CAS 和 OAuth 介 紹

CAS 包含服務(wù)端和客戶端兩部分,服務(wù)端是一個(gè)獨(dú)立部署的WAR 包,負(fù)責(zé)用戶認(rèn)證。客戶端負(fù)責(zé)處理對(duì)受保護(hù)資源的訪問(wèn),支持 Java、.NET、PHP 等多種軟件平臺(tái),極太地方便了各種系統(tǒng)的接入[1]。

CAS 支持 SSO, 即用戶登錄一個(gè)系統(tǒng)后, 再訪問(wèn)權(quán)限范圍內(nèi)的其他系統(tǒng)時(shí)不用再次登錄[2-3]。 常見(jiàn)的如:用戶登錄淘寶網(wǎng)頁(yè)后,再訪問(wèn)天貓網(wǎng)頁(yè)時(shí)無(wú)需再次登錄即可使用。

OAuth 是實(shí)現(xiàn)第三方授權(quán)的開(kāi)放框架,在用戶無(wú)需提供賬號(hào)和密碼的情況下,允許第三方應(yīng)用訪問(wèn)用戶存于某服務(wù)商的資源(如個(gè)人信息、照片等)[4]。常見(jiàn)的如: 在微信中點(diǎn)擊某應(yīng)用后, 會(huì)被請(qǐng)求授權(quán),點(diǎn)擊授權(quán)后,可以在這個(gè)被授權(quán)應(yīng)用里看到自己的微信名稱、頭像等信息。 這就是被授權(quán)應(yīng)用訪問(wèn)了自己在微信里的數(shù)據(jù)。

OAuth 框架定義了四種角色[5],以微信授權(quán)為例:(1)資源所有者:指正在使用微信的用戶;(2)資源服務(wù)器:指微信保存用戶數(shù)據(jù)的服務(wù)器;(3)客戶端:指在微信里請(qǐng)求用戶授權(quán)的應(yīng)用;(4)授權(quán)服務(wù)器:用戶點(diǎn)擊授權(quán)后會(huì)轉(zhuǎn)到此服務(wù)器進(jìn)行授權(quán)。

CAS 支持 OAuth,其結(jié)合 OAuth,可簡(jiǎn)化客戶端的開(kāi)發(fā),提供標(biāo)準(zhǔn)的授權(quán)流程,支持 Web 應(yīng)用、桌面應(yīng)用、手機(jī)應(yīng)用。 CAS 使用 HTTP 進(jìn)行對(duì)接,支持各種軟件的接入[6]。

2 系統(tǒng)總體設(shè)計(jì)

本文采用CAS+OAuth 的方案來(lái)實(shí)現(xiàn)銀行內(nèi)部和外部的統(tǒng)一認(rèn)證授權(quán),可以實(shí)現(xiàn)用戶的單點(diǎn)登錄,也可以為外部的第三方應(yīng)用授權(quán),從而使用外部的服務(wù)。

本設(shè)計(jì)的架構(gòu)圖如圖 1 所示,描述如下:(1)用戶訪問(wèn) Web 應(yīng)用、桌面應(yīng)用或手機(jī)應(yīng)用;(2)應(yīng)用服務(wù)器將用戶轉(zhuǎn)到 CAS 服務(wù)器;(3)CAS 服務(wù)器是獨(dú)立部署的,負(fù)責(zé)認(rèn)證授權(quán),它需要訪問(wèn)目錄服務(wù)器(LDAP)或數(shù)據(jù)庫(kù);(4)用戶在 CAS 服務(wù)器上完成認(rèn)證授權(quán)后,CAS 服務(wù)器將發(fā)放 SSO 票據(jù)或 OAuth 令牌給用戶;(5)用戶的后續(xù)訪問(wèn)會(huì)自動(dòng)攜帶票據(jù)或令牌來(lái)完成,避免了再次登錄授權(quán)。

圖1 架構(gòu)圖

3 系統(tǒng)詳細(xì)設(shè)計(jì)

3.1 單點(diǎn)登錄

TGT(Ticket Granting Ticket),代表了用戶的一次單點(diǎn)登錄會(huì)話[7]。

ST(Service Ticket),代表了 CAS 服務(wù)器對(duì)用戶在某應(yīng)用的一次授權(quán)[7]。

假設(shè)有兩個(gè)被保護(hù)的銀行內(nèi)部應(yīng)用:貸款系統(tǒng)和卡系統(tǒng),下面描述了用戶訪問(wèn)時(shí)是怎樣保護(hù)資源的。

3.1.1 第一次訪問(wèn)貸款系統(tǒng)

用戶第一次訪問(wèn)貸款系統(tǒng)時(shí),被轉(zhuǎn)到CAS 服務(wù)器去認(rèn)證。 用戶在 CAS 的登錄頁(yè)面輸入賬號(hào)和密碼后登錄成功。 CAS 服務(wù)器為用戶創(chuàng)建一個(gè)SSO會(huì)話,并把 TGT、ST 返回給用戶。 瀏覽器會(huì)把 TGT保存起來(lái),并攜帶 ST 去訪問(wèn)貸款系統(tǒng)。 貸款系統(tǒng)轉(zhuǎn)到CAS 服務(wù)器去驗(yàn)證ST,驗(yàn)證通過(guò)后,貸款系統(tǒng)為用戶創(chuàng)建貸款系統(tǒng)會(huì)話。 瀏覽器保存貸款系統(tǒng)會(huì)話,后續(xù)訪問(wèn)都會(huì)攜帶這個(gè)會(huì)話,貸款系統(tǒng)驗(yàn)證會(huì)話通過(guò)后,向用戶顯示訪問(wèn)的資源。 時(shí)序圖如圖2所示[7]。

圖2 第一次訪問(wèn)貸款系統(tǒng)的時(shí)序圖

3.1.2 第二次訪問(wèn)貸款系統(tǒng)

用戶第二次訪問(wèn)貸款系統(tǒng)時(shí),因?yàn)橐殉晒Φ卿涍^(guò), 所以瀏覽器會(huì)自動(dòng)攜帶貸款系統(tǒng)會(huì)話去訪問(wèn),貸款系統(tǒng)驗(yàn)證會(huì)話通過(guò)后,向用戶顯示訪問(wèn)的資源。時(shí)序圖如圖 3 所示[7]。

圖3 第二次訪問(wèn)貸款系統(tǒng)的時(shí)序圖

3.1.3 第一次訪問(wèn)卡系統(tǒng)

用戶第一次訪問(wèn)卡系統(tǒng),因?yàn)闆](méi)有登錄過(guò),所以瀏覽器自動(dòng)攜帶TGT 去CAS 做認(rèn)證,認(rèn)證通過(guò)后,CAS 服務(wù)器把 ST 返回給用戶。 瀏覽器會(huì)攜帶 ST 去訪問(wèn)卡系統(tǒng)。 卡系統(tǒng)轉(zhuǎn)到 CAS 服務(wù)器去驗(yàn)證 ST,驗(yàn)證通過(guò)后,卡系統(tǒng)為用戶創(chuàng)建卡系統(tǒng)會(huì)話。 瀏覽器保存卡系統(tǒng)會(huì)話,后續(xù)訪問(wèn)都會(huì)攜帶這個(gè)會(huì)話,卡系統(tǒng)驗(yàn)證會(huì)話通過(guò)后,向用戶顯示訪問(wèn)的資源,整個(gè)流程不會(huì)要求用戶再次登錄。 時(shí)序圖如圖4 所示[7]。

3.2 第三方授權(quán)

OAuth 框架里的安全機(jī)制是令牌。 應(yīng)用可以通過(guò)一個(gè)令牌在特定的時(shí)間段內(nèi)訪問(wèn)特定的資源[8]。

假設(shè)有個(gè)銀行外部的第三方交易系統(tǒng),它需要用戶在銀行的授權(quán)系統(tǒng)里登錄并對(duì)它授權(quán)后才能使用。

3.2.1 交易系統(tǒng)令牌訪問(wèn)

第三方交易系統(tǒng)首先向用戶請(qǐng)求授權(quán),用戶登錄銀行的授權(quán)系統(tǒng)并進(jìn)行授權(quán)后會(huì)發(fā)放授權(quán)許可,交易系統(tǒng)向CAS 服務(wù)器出示授權(quán)許可,并請(qǐng)求訪問(wèn)令牌。CAS 服務(wù)器校驗(yàn)授權(quán)許可通過(guò)后,發(fā)放訪問(wèn)令牌,交易系統(tǒng)憑令牌訪問(wèn)資源。 時(shí)序圖如圖5 所示[9]。

3.2.2 交易系統(tǒng)刷新令牌

令牌是有時(shí)效性的,當(dāng)其失效后,第三方交易系統(tǒng)需憑刷新令牌再次請(qǐng)求一個(gè)新的訪問(wèn)令牌。 時(shí)序圖如圖 6 所示[9]。

圖4 第一次訪問(wèn)卡系統(tǒng)的時(shí)序圖

圖5 第三方交易系統(tǒng)令牌訪問(wèn)的時(shí)序圖

4 系統(tǒng)驗(yàn)證

4.1 單點(diǎn)登錄

4.1.1 運(yùn)行環(huán)境

為了完成單點(diǎn)登錄的驗(yàn)證,規(guī)劃了3 臺(tái)服務(wù)器,如圖 7 所示。 服務(wù)器全部預(yù)裝 CentOS 7[10],每臺(tái)安裝的軟件如表 1 所示[11-15]。

圖6 第三方交易系統(tǒng)刷新令牌的時(shí)序圖

圖7 單點(diǎn)登錄驗(yàn)證服務(wù)器設(shè)計(jì)

表1 單點(diǎn)登錄驗(yàn)證軟件清單

4.1.2 驗(yàn)證

(1)瀏覽器訪問(wèn) https://www.app1.com,因沒(méi)有登錄過(guò),所以會(huì)跳轉(zhuǎn)到圖8 所示的登錄頁(yè)面,并且地址變?yōu)?https://www.sso.com/cas/login?service=https-%3A%2F%2Fwww.app1.com%2F,從地址可知,這是由CAS 提供的登錄頁(yè)面。

(2)輸入用戶名和密碼登錄后,分析CAS 的日志可以看出它首先對(duì)用戶名和密碼進(jìn)行了認(rèn)證。

WHO:liqiang

WHAT:Supplied credentials:

[UsernamePasswordCredential(username=liqiang)]

ACTION:AUTHENTICATION_SUCCESS

圖8 單點(diǎn)登錄的登錄頁(yè)面

APPLICATION:CAS

(3)認(rèn)證通過(guò)后,CAS 服務(wù)器自動(dòng)創(chuàng)建了 Ticket Granting Ticket(TGT)。

WHO:liqiang

WHAT:

TGT-2-************************bo-47opiGacsso

ACTION:TICKET_GRANTING_TICKET_CREATED

APPLICATION:CAS

(4)緊接著 CAS 服務(wù)器又為 APP1 創(chuàng)建了 Service Ticket(ST)。

WHO:liqiang

WHAT:ST-3-BP9pvxb0-i-rwvrxQFQ8mn5py-wsso for

https://www.app1.com/

ACTION:SERVICE_TICKET_CREATED

APPLICATION:CAS

(5)CAS 服務(wù)器把 TGT 和 ST 返回給 APP1 服務(wù)器,APP1 服務(wù)器再次攜帶ST 到 CAS 服務(wù)器進(jìn)行校驗(yàn)。

WHO:liqiang

WHAT:ST-3-BP9pvxb0-i-rwvrxQFQ8mn5py-wsso

for https://www.app1.com/

ACTION:SERVICE_TICKET_VALIDATED

APPLICATION:CAS

(6)ST 校 驗(yàn) 通 過(guò) ,APP1 服務(wù)器顯示APP1 的歡迎頁(yè)面,如圖 9 所示。

圖9 單點(diǎn)登錄成功轉(zhuǎn)到APP1

(7)瀏覽器訪問(wèn) https://www.app2.com,因已登錄過(guò)APP1,TGT 已經(jīng)保存在瀏覽器緩存了,所以去CAS 認(rèn)證時(shí)會(huì)攜帶 TGT,又因?yàn)樵?TGT 是有效的,所以 CAS 會(huì)自動(dòng)為 APP2 創(chuàng)建 ST。

WHO:liqiang

WHAT:ST-4--1a-tB2GwHoxrcZwLGlKQ-46ET0sso

for https://www.app2.com/

ACTION:SERVICE_TICKET_CREATED

APPLICATION:CAS

(8)CAS 服務(wù)器把 ST 返回給 APP2 服務(wù)器后,APP2 服務(wù)器再次攜帶 ST 到 CAS 服務(wù)器進(jìn)行校驗(yàn)。

WHO:liqiang

WHAT:ST-4--1a-tB2GwHoxrcZwLGlKQ-46ET0sso

for https://www.app2.com/

ACTION:SERVICE_TICKET_VALIDATED

APPLICATION:CAS

(9)ST 校 驗(yàn) 通 過(guò) ,APP2 服務(wù)器顯示APP2 的歡迎頁(yè)面,如 圖 10 所 示 。 訪 問(wèn) APP2 的整個(gè)過(guò)程并沒(méi)有再要求用戶登錄。

圖10 直接進(jìn)入APP2

4.2 第三方授權(quán)

4.2.1 運(yùn)行環(huán)境

為了完成第三方授權(quán)的驗(yàn)證, 規(guī)劃了 2 臺(tái)服務(wù)器,如 圖 11 所 示。 服務(wù)器全部預(yù)裝 CentOS 7[10],每臺(tái)安裝的軟件如表2 所示[11-15]。

圖11 第三方授權(quán)驗(yàn)證服務(wù)器設(shè)計(jì)

表2 第三方授權(quán)驗(yàn)證軟件清單

4.2.2 驗(yàn)證

(1)瀏覽器訪問(wèn) https://www.app3.com,會(huì)顯示圖 12 所示頁(yè)面。

圖12 提示使用第三方賬號(hào)登錄

(2)點(diǎn)擊下方的“使用第三方賬號(hào)登錄”鏈接,會(huì)跳轉(zhuǎn)到如圖13 所示的登錄頁(yè)面,并且地址欄變?yōu)閔ttps://www.sso.com/cas/login?service=https%3A%2F%2Fwww.sso.com%2Fcas%2Foauth2.0%2Fcallback-Authorize%3Fclient_id%3Dots%26redirect_uri%3Dhttps-%253A%252F%252Fwww.app3.com%252Fauth%26response_type%3Dcode%26client_name%3DCasOAuthClient,從地址可知,這是由CAS 提供的登錄頁(yè)面,客戶 ID是ots,代表了驗(yàn)證用的交易系統(tǒng)。

圖13 轉(zhuǎn)到第三方應(yīng)用去登錄

(3)輸入用戶名和密碼,登錄成功后會(huì)顯示授權(quán)頁(yè)面,如圖 14 所示。

(4)點(diǎn)擊 Allow 按鈕,同意授權(quán)給第三方交易系統(tǒng)后, 分析日志可以看出 CAS 服務(wù)器給 APP3 服務(wù)器返回了一個(gè)授權(quán)碼。

OC-1-NrqJTop-h7IYyOtxCmYGUS0mKFVGaII3

(5)APP3 服務(wù)器收到授權(quán)碼后,攜帶授權(quán)碼向CAS 服務(wù)器發(fā)出以下請(qǐng)求去獲取訪問(wèn)令牌:

https://www.sso.com/cas/oauth2.0/accessToken?grant_type=authorization_code&client_id=ots&client_secret=12345-6&code=OC-1-NrqJTop-h7IYyOtxCmYGUS0mKFVGaII3-&redirect_uri=https://www.app3.com/auth

(6)CAS 服務(wù)器校驗(yàn)授權(quán)碼通過(guò),生成訪問(wèn)令牌,并把令牌返回給APP3 服務(wù)器。

access_token =AT -1 -AjYYAXSxR2M8EQuDqvHL3V -QwKN871hSN&expires_in=28800

(7)APP3 服務(wù)器得到訪問(wèn)令牌后,攜帶令牌去CAS 服務(wù)器獲取用戶信息。

https://www.sso.com/cas/oauth2.0/profile?access_token=AT-1-AjYYAXSxR2M8EQuDqvHL3VQwKN871hSN

(8)CAS 服務(wù)器校驗(yàn)令牌通過(guò), 向 APP3 服務(wù)器返回用戶信息。

{"service":"https://www.app3.com/auth","attributes":{"credentialType":"UsernamePasswordCredential"},"id":"liqiang","client_id":"ots"}

(9)APP3 服務(wù)器轉(zhuǎn)到登錄成功頁(yè)面,并顯示獲取到的用戶名,如圖15 所示。

圖15 獲取授權(quán)成功轉(zhuǎn)到第三方交易系統(tǒng)

5 結(jié)論

本文對(duì) CAS 協(xié)議和OAuth 框架進(jìn)行了簡(jiǎn)單介紹, 并基于此給出了統(tǒng)一認(rèn)證授權(quán)系統(tǒng)的設(shè)計(jì),隨后結(jié)合實(shí)戰(zhàn)對(duì)每一步進(jìn)行了驗(yàn)證與分析。 以此為技術(shù)基礎(chǔ)可以逐步整合銀行內(nèi)部現(xiàn)有應(yīng)用系統(tǒng)的用戶登錄認(rèn)證,規(guī)范新應(yīng)用系統(tǒng)的開(kāi)發(fā),為銀行帶來(lái)跨系統(tǒng)單點(diǎn)登錄、第三方授權(quán)等基礎(chǔ)能力,為進(jìn)一步構(gòu)建開(kāi)放平臺(tái)和業(yè)務(wù)生態(tài)提供了必要的條件。 此外, 若能通過(guò)域賬號(hào)與統(tǒng)一認(rèn)證授權(quán)系統(tǒng)進(jìn)行集成,將更加有助于簡(jiǎn)化用戶的管理,進(jìn)一步提高系統(tǒng)集成度和用戶的使用體驗(yàn)。

猜你喜歡
頁(yè)面用戶系統(tǒng)
大狗熊在睡覺(jué)
Smartflower POP 一體式光伏系統(tǒng)
刷新生活的頁(yè)面
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
如何獲取一億海外用戶
主站蜘蛛池模板: 久久久久久高潮白浆| 国产区精品高清在线观看| 88av在线播放| 国产91蝌蚪窝| 欧美激情伊人| 国产在线自在拍91精品黑人| 久久久久夜色精品波多野结衣| 国产情侣一区二区三区| 天堂成人av| 精品福利网| 国产精品人莉莉成在线播放| 免费xxxxx在线观看网站| 成人福利视频网| 国产精品不卡片视频免费观看| 99人妻碰碰碰久久久久禁片| 欧美成人精品一区二区| 欧美日韩一区二区在线播放 | 亚洲成人在线免费观看| 国产成人成人一区二区| 国产精品伦视频观看免费| 超清无码一区二区三区| 亚洲成a人片77777在线播放| 亚洲av成人无码网站在线观看| 91亚洲国产视频| 国产免费网址| 一级在线毛片| 激情影院内射美女| 久久婷婷国产综合尤物精品| 久久频这里精品99香蕉久网址| 日本精品视频| 国产99在线| 国产JIZzJIzz视频全部免费| 好久久免费视频高清| 中文一级毛片| 亚洲bt欧美bt精品| 欧美全免费aaaaaa特黄在线| 国产精品久久自在自2021| 国产无码性爱一区二区三区| 国产亚洲精品97在线观看| 激情在线网| 丝袜亚洲综合| 国产精品手机视频| 99久久亚洲综合精品TS| 丰满人妻中出白浆| 国产免费高清无需播放器| 亚洲AV一二三区无码AV蜜桃| 欧美国产日韩在线| 天天色天天操综合网| 国产地址二永久伊甸园| 精品久久久久久成人AV| 日韩在线2020专区| 91精品人妻互换| 高清欧美性猛交XXXX黑人猛交| 成人福利在线观看| 午夜啪啪福利| 国产网站一区二区三区| 青青青国产视频手机| 91国内外精品自在线播放| 好吊色国产欧美日韩免费观看| 伊人激情久久综合中文字幕| 夜夜操国产| 伊在人亚洲香蕉精品播放| 欧美日韩理论| 亚洲成aⅴ人片在线影院八| 中国精品自拍| 欧美精品v日韩精品v国产精品| jizz国产视频| 亚洲浓毛av| 欧美精品v| 成人在线不卡| 91精品久久久久久无码人妻| 国产成人综合在线观看| 99视频在线精品免费观看6| 2021亚洲精品不卡a| 国产乱子伦精品视频| 亚洲精品另类| 中美日韩在线网免费毛片视频| 999精品色在线观看| 亚洲欧美人成人让影院| 91po国产在线精品免费观看| 亚洲成A人V欧美综合天堂| 亚洲天堂网2014|