亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種頒發(fā)身份認證憑據(jù)的方法、系統(tǒng)及認證服務(wù)器與流程

文檔序號:11693170閱讀:464來源:國知局
一種頒發(fā)身份認證憑據(jù)的方法、系統(tǒng)及認證服務(wù)器與流程

本發(fā)明涉及通信領(lǐng)域,特別涉及一種頒發(fā)身份認證憑據(jù)的方法、系統(tǒng)及認證服務(wù)器。



背景技術(shù):

現(xiàn)有技術(shù)中用戶首次使用某網(wǎng)站的服務(wù)時一般需要經(jīng)過繁瑣的注冊賬號的過程,網(wǎng)站注冊賬號一般通過兩種方式,第一種為通過用戶自選的字母或者數(shù)據(jù)作為賬號,同時需要填寫繁多的用戶信息;并且當用戶在多個網(wǎng)站注冊賬號后則面臨記憶大量的網(wǎng)站賬號的麻煩,若用戶忘記網(wǎng)站賬號則需要重新注冊網(wǎng)站賬號;第二種方式用戶也可以通過已有的郵箱地址來注冊網(wǎng)站賬號,但是用戶往往會接收到更多的垃圾郵件,用戶體驗差。每個提供服務(wù)的網(wǎng)站都需要建立自己的會員系統(tǒng)和登錄功能,增加的網(wǎng)站的開發(fā)成本。



技術(shù)實現(xiàn)要素:

本發(fā)明提供了一種頒發(fā)身份認證憑據(jù)的方法、系統(tǒng)及認證服務(wù)器,

一種頒發(fā)身份認證憑據(jù)的方法,包括:

步驟s1、當接收到用戶觸發(fā)的訪問請求后,應(yīng)用服務(wù)器跳轉(zhuǎn)到用戶認證頁面,并向認證服務(wù)器發(fā)送鑒權(quán)請求;

步驟s2、當用戶從用戶認證頁面輸入用戶信息時,認證服務(wù)器從用戶認證頁面獲取用戶信息,并判斷用戶信息是否合法,是則生成授權(quán)碼,并將授權(quán)法返回給應(yīng)用服務(wù)器,執(zhí)行步驟s3,否則結(jié)束;

步驟s3、應(yīng)用服務(wù)器根據(jù)授權(quán)碼以及于現(xiàn)在認證服務(wù)器注冊的應(yīng)用標識和應(yīng)用密碼組織獲取身份認證憑據(jù)請求,并將獲取身份認證憑據(jù)請求發(fā)送給認證服務(wù)器;

步驟s4、認證服務(wù)器根據(jù)獲取身份認證憑據(jù)請求中的應(yīng)用標識和應(yīng)用密碼判斷應(yīng)用的服務(wù)器是否合法,并判斷獲取身份認證憑據(jù)請求中的授權(quán)碼是否有效,當判斷均為是時執(zhí)行步驟s5,否則結(jié)束;

步驟s5、認證服務(wù)器根據(jù)應(yīng)用標識,認證服務(wù)器標識和用戶信息組織身份認證憑據(jù),并使用私鑰對身份認證憑據(jù)進行簽名,將簽名結(jié)果和身份認證憑據(jù)發(fā)送給應(yīng)用服務(wù)器;

步驟s6、應(yīng)用服務(wù)器使用公鑰對簽名簽名結(jié)果進行驗簽,若驗簽通過,將所述身份認證憑據(jù)與用戶進行綁定。

一種頒發(fā)身份認證憑據(jù)的方法,包括:

步驟r1、認證服務(wù)器接收應(yīng)用服務(wù)器發(fā)送的鑒權(quán)請求,當用戶從用戶認證頁面輸入用戶信息時,從用戶認證頁面獲取用戶信息,并判斷用戶信息是否合法,是則生成授權(quán)碼,并將授權(quán)碼返回給應(yīng)用服務(wù)器,執(zhí)行步驟r2,否則結(jié)束;

步驟r2、當認證服務(wù)器接收到應(yīng)用服務(wù)器發(fā)送的獲取身份認證憑據(jù)請求時,根據(jù)獲取身份認證憑據(jù)請求中的應(yīng)用標識和應(yīng)用密碼判斷應(yīng)用服務(wù)器是否合法,并判斷獲取身份認證憑據(jù)請求中的授權(quán)碼是否有效,當判斷均為是時執(zhí)行步驟r3,否則結(jié)束;

步驟r3、認證服務(wù)器根據(jù)應(yīng)用標識,認證服務(wù)器標識和用戶信息組織身份認證憑據(jù),并使用私鑰對身份認證憑據(jù)進行簽名,將簽名結(jié)果和身份認證憑據(jù)發(fā)送給應(yīng)用服務(wù)器。

一種頒發(fā)身份認證憑據(jù)的系統(tǒng),包括認證服務(wù)器和應(yīng)用服務(wù)器;

應(yīng)用服務(wù)器具體包括:

第一發(fā)送模塊,用于接收接收到用戶觸發(fā)的訪問請求,跳轉(zhuǎn)到用戶認證頁面,并向認證服務(wù)器發(fā)送鑒權(quán)請求;還用于將第一組織模塊組織的所獲取身份認證憑據(jù)請求發(fā)送給所述認證服務(wù)器;

第二接收模塊,用于接收認證服務(wù)器發(fā)送的所述授權(quán)碼;還用于接收認證服務(wù)器發(fā)送的簽名結(jié)果和身份認證憑據(jù);

第一組織模塊,用于根據(jù)第二接收模塊接收到的授權(quán)碼以及在認證服務(wù)器預(yù)先注冊的應(yīng)用標識和應(yīng)用密碼組織獲取身份認證憑據(jù)請求;

綁定模塊,用于使用公鑰對所述第二接收模塊接收到的所述簽名結(jié)果驗簽,若驗簽通過,將所述第二接收模塊接收到的所述身份認證憑據(jù)與用戶進行綁定;

認證服務(wù)器具體包括:

第一接收模塊,用于接收應(yīng)用服務(wù)器發(fā)送的鑒權(quán)請求;還用于接收應(yīng)用服務(wù)器發(fā)送的獲取身份認證憑據(jù)請求;

獲取用戶信息模塊,當用戶從用戶認證頁面輸入用戶信息之后,用于從用戶認證頁面獲取所述用戶信息

第一判斷模塊,用于第一接收模塊接收到鑒權(quán)請求之后,判斷獲取用戶信息模塊獲取到的用戶信息是否合法;

授權(quán)碼生成模塊,用于當?shù)谝慌袛嗄K判定用戶信息合法后生成授權(quán)碼;

第一發(fā)送模塊,用于將授權(quán)碼生成模塊生成的授權(quán)碼發(fā)送給應(yīng)用服務(wù)器;還用于將簽名模塊簽名得到的簽名結(jié)果和第二組織模塊組織的身份認證憑據(jù)發(fā)送給應(yīng)用服務(wù)器;

第二判斷模塊,用于根據(jù)所述第一接收模塊接收到的所述獲取身份認證憑據(jù)請求中的所述應(yīng)用標識和所述應(yīng)用密碼判斷所述應(yīng)用服務(wù)器是否合法,并判斷所述所述第一接收模塊接收到的所述獲取身份認證憑據(jù)請求中的所述授權(quán)碼是否有效;

第二組織模塊,用于當?shù)诙袛嗄K判定應(yīng)用服務(wù)器合法且授權(quán)碼有效時根據(jù)第一接收模塊接收到的獲取身份認證憑據(jù)請求中的應(yīng)用標識、認證服務(wù)器標識和獲取用戶信息模塊獲取到的用戶信息組織身份認證憑據(jù);

簽名模塊,用于使用私鑰對第二組織模塊組織得到的身份認證憑據(jù)進行簽名得到簽名結(jié)果。

一種頒發(fā)身份認證憑據(jù)的認證服務(wù)器,包括:

第一接收模塊,用于接收應(yīng)用服務(wù)器發(fā)送的鑒權(quán)請求;還用于接收應(yīng)用服務(wù)器發(fā)送的獲取身份認證憑據(jù)請求;

獲取用戶信息模塊,當用戶從用戶認證頁面輸入用戶信息時,用于從用戶認證頁面獲取用戶信息;

第一判斷模塊,用于當?shù)谝唤邮漳K接收到鑒權(quán)請求時,判斷獲取用戶信息模塊獲取到的用戶信息是否合法;

授權(quán)碼生成模塊,用于當?shù)谝慌袛嗄K判定用戶信息合法后生成授權(quán)碼;

第一發(fā)送模塊,用于將授權(quán)碼生成模塊生成的授權(quán)碼發(fā)送給應(yīng)用服務(wù)器;還用于將簽名模塊簽名得到的簽名結(jié)果和第二組織模塊組織的身份認證憑據(jù)發(fā)送給應(yīng)用服務(wù)器;

第二判斷模塊,用于根據(jù)所述第一接收模塊接收到的所述獲取身份認證憑據(jù)請求中的所述應(yīng)用標識和所述應(yīng)用密碼判斷所述應(yīng)用服務(wù)器是否合法,并判斷所述所述第一接收模塊接收到的所述獲取身份認證憑據(jù)請求中的所述授權(quán)碼是否有效;

第二組織模塊,用于當?shù)诙袛嗄K判定應(yīng)用服務(wù)器合法且授權(quán)碼有效時根據(jù)第一接收模塊接收到的獲取身份認證憑據(jù)請求中的應(yīng)用標識、認證服務(wù)器標識和獲取用戶信息模塊獲取到的用戶信息組織身份認證憑據(jù);

簽名模塊,用于使用私鑰對第二組織模塊組織得到的身份認證憑據(jù)進行簽名得到簽名結(jié)果。

本發(fā)明的有益效果為:簡化了用戶注冊登錄網(wǎng)站的流程,避免了重復(fù)注冊、填寫身份資料的繁瑣過程,使得用戶登錄更加快捷方便,用戶不需要記憶大量的網(wǎng)站賬號,用戶只需在認證服務(wù)器上注冊身份認證憑據(jù)即可登錄任何支持該身份認證憑據(jù)登錄的網(wǎng)站自由登錄,并且為提供服務(wù)的網(wǎng)站減少了創(chuàng)建自己的會員系統(tǒng)和登錄功能的成本。

附圖說明

為了更清楚的說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實施例1提供的一種頒發(fā)身份認證憑據(jù)的方法的流程圖;

圖2和圖3為本發(fā)明實施例2提供的一種頒發(fā)身份認證憑據(jù)的方法的流程圖;

圖4為本發(fā)明實施例3提供的一種頒發(fā)身份認證憑據(jù)的系統(tǒng)的方框圖;

圖5為本發(fā)明實施例4提供的一種頒發(fā)身份認證憑據(jù)的認證服務(wù)器的方框圖。

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

實施例1

本實施例提供一種頒發(fā)身份認證憑據(jù)的方法,具體包括:

步驟s1、當接收到用戶觸發(fā)的訪問請求后,應(yīng)用服務(wù)器跳轉(zhuǎn)到用戶認證頁面,并向認證服務(wù)器發(fā)送鑒權(quán)請求;

步驟s2、當用戶從用戶認證頁面輸入用戶信息時,認證服務(wù)器從用戶認證頁面獲取用戶信息,并判斷用戶信息是否合法,是則生成授權(quán)碼,并將授權(quán)法返回給應(yīng)用服務(wù)器,執(zhí)行步驟s3,否則結(jié)束;

進一步給的,鑒權(quán)請求中包括:重定向url;

將授權(quán)碼返回給應(yīng)用服務(wù)器具體為:將授權(quán)碼根據(jù)重定向url返回給應(yīng)用服務(wù)器。

優(yōu)選的,步驟s1和步驟s2之間還包括:認證服務(wù)器判斷鑒權(quán)請求中的所有必要參數(shù)是否都存在且有效,是則執(zhí)行步驟s2,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。

進一步的,判斷鑒權(quán)請求中的所有必要參數(shù)是否都存在且有效具體包括:

步驟a1、認證服務(wù)器判斷鑒權(quán)請求中是否包含應(yīng)用標識和重定向url,是則執(zhí)行步驟a2,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束;

步驟a2、認證服務(wù)器從鑒權(quán)請求中獲取應(yīng)用標識,根據(jù)應(yīng)用標識判斷應(yīng)用服務(wù)器是否已經(jīng)注冊過,是則執(zhí)行步驟a3,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束;

步驟a3、認證服務(wù)器根據(jù)應(yīng)用標識獲取應(yīng)用服務(wù)器預(yù)先注冊的重定向url,并判斷鑒權(quán)請求中的重定向url與預(yù)存的重定向url是否匹配,是則執(zhí)行步驟s2,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。

步驟s3、應(yīng)用服務(wù)器根據(jù)授權(quán)碼以及預(yù)先在認證服務(wù)器注冊的應(yīng)用標識和應(yīng)用密碼組織獲取身份認證憑據(jù)請求,并將獲取身份認證憑據(jù)請求發(fā)送給認證服務(wù)器;

步驟s4、認證服務(wù)器根據(jù)獲取身份認證憑據(jù)請求中的應(yīng)用標識和應(yīng)用密碼判斷應(yīng)用服務(wù)器是否合法,并判斷獲取身份認證憑據(jù)請求中的授權(quán)碼是否有效,當判斷均為是時執(zhí)行步驟s5,否則結(jié)束;

優(yōu)選的,步驟s3具體包括:

步驟b1、應(yīng)用服務(wù)器將預(yù)先在認證服務(wù)器注冊的應(yīng)用標識和應(yīng)用密碼進行加密生成應(yīng)用密文信息;

步驟b2、應(yīng)用服務(wù)器根據(jù)應(yīng)用密文信息和授權(quán)碼組織獲取身份認證憑據(jù)請求,并將獲取身份認證憑據(jù)請求發(fā)送給認證服務(wù)器;

步驟s4具體包括:認證服務(wù)器從獲取身份認證憑據(jù)請求中獲取應(yīng)用密文信息,對應(yīng)用密文信息進行解密得到應(yīng)用標識和所述應(yīng)用密碼,根據(jù)應(yīng)用標識和應(yīng)用密碼判斷應(yīng)用服務(wù)器是否合法,并判斷獲取身份認證憑據(jù)請求中的授權(quán)碼是否有效,當判斷均為是時執(zhí)行步驟s5,否則結(jié)束。

步驟s5、認證服務(wù)器根據(jù)應(yīng)用標識,認證服務(wù)器標識和用戶信息組織身份認證憑據(jù),并使用私鑰對身份認證憑據(jù)進行簽名,將簽名結(jié)果和身份認證憑據(jù)發(fā)送給應(yīng)用服務(wù)器;

步驟s6、應(yīng)用服務(wù)器使用公鑰對簽名結(jié)果進行驗簽,若驗簽通過,將身份認證憑據(jù)與用戶進行綁定。

具體的,將身份認證憑據(jù)與用戶進行綁定具體為:所述應(yīng)用服務(wù)器從身份憑據(jù)中獲取用戶信息,并將用戶信息與身份認證憑據(jù)對應(yīng)存儲。

可選的,將身份認證憑據(jù)與用戶進行綁定具體為:應(yīng)用服務(wù)器分配字符串作為用戶標識,將用戶標識與身份認證憑據(jù)進行對應(yīng)存儲。

優(yōu)選的,鑒權(quán)請求中還包括:請求訪問的資源范圍;

步驟s5具體包括:認證服務(wù)器生成訪問憑據(jù),將訪問憑據(jù)和請求訪問的資源范圍對應(yīng)存儲;并根據(jù)應(yīng)用標識、認證服務(wù)器標識和用戶信息組織身份認證憑據(jù),并使用私鑰對身份認證憑據(jù)進行簽名,并將身份認證憑據(jù)、簽名結(jié)果和訪問憑據(jù)發(fā)送給應(yīng)用服務(wù)器;

步驟s6之后還包括:應(yīng)用服務(wù)器使用訪問憑據(jù)從認證服務(wù)器中獲取請求訪問的資源范圍內(nèi)的資源。

優(yōu)選的,步驟s6中應(yīng)用服務(wù)器使用公鑰對簽名結(jié)果驗簽,若驗簽通過之后,將所述身份認證憑據(jù)與用戶進行綁定之前還包括:應(yīng)用服務(wù)器判斷身份認證憑據(jù)中的應(yīng)用標識是否合法,是則繼續(xù)執(zhí)行將身份認證憑據(jù)與用戶進行綁定,否則向認證服務(wù)器返回身份認證憑據(jù)無效信息,結(jié)束。

進一步的,步驟s2中判定用戶信息合法后,生成授權(quán)碼之前還包括:認證服務(wù)器根據(jù)請求訪問的資源范圍跳轉(zhuǎn)到用戶授權(quán)頁面,判斷從用戶授權(quán)頁面中是否可以獲取到對請求訪問的資源范圍的允許授權(quán)信息,是則生成授權(quán)碼,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng)。

優(yōu)選的,步驟s5具體包括:認證服務(wù)器獲取當前服務(wù)器時間作為身份認證憑據(jù)發(fā)送時間,根據(jù)應(yīng)用標識、認證服務(wù)器標識、用戶信息和身份認證憑據(jù)發(fā)送時間組織身份認證憑據(jù),并使用私鑰對身份認證憑據(jù)進行簽名,將身份認證憑據(jù)、簽名結(jié)果和訪問憑據(jù)發(fā)送給應(yīng)用服務(wù)器。

步驟s6中應(yīng)用服務(wù)器使用公鑰對簽名結(jié)果驗簽,若驗簽通過得到身份認證憑據(jù)之后,將身份認證憑據(jù)與用戶進行綁定之前還包括:應(yīng)用服務(wù)器判斷身份認證憑據(jù)中的身份認證憑據(jù)發(fā)送時間是否早于第一預(yù)設(shè)時間,是則向所述認證服務(wù)器發(fā)送所述身份認證憑據(jù)無效信息,結(jié)束;否則繼續(xù)執(zhí)行所述將所述身份認證憑據(jù)與用戶進行綁定。

優(yōu)選的,步驟s2判定用戶合法時候還包括:獲取服務(wù)器當前時間作為鑒別終端用戶時間;

步驟s5具體包括:認證服務(wù)器根據(jù)應(yīng)用標識、認證服務(wù)器標識、用戶信息和鑒別終端用戶時間組織身份認證憑據(jù),并使用私鑰對身份認證憑據(jù)進行簽名,將簽名結(jié)果和身份認證憑據(jù)發(fā)送給應(yīng)用服務(wù)器;

步驟s6中應(yīng)用服務(wù)器使用公鑰對簽名結(jié)果驗簽,若驗簽通過得到身份認證憑據(jù)之后,將身份認證憑據(jù)與用戶進行綁定之前還包括:應(yīng)用服務(wù)器判斷身份認證憑據(jù)中的鑒別終端用戶時間是否早于第二預(yù)設(shè)時間,是則向認證服務(wù)器發(fā)送身份認證憑據(jù)無效信息;否則繼續(xù)執(zhí)行將身份認證憑據(jù)與用戶進行綁定。

優(yōu)選的,步驟s5中具體包括:認證服務(wù)器根據(jù)應(yīng)用標識、認證服務(wù)器標識、用戶信息和身份認證憑據(jù)有效期組織身份認證憑據(jù),并使用私鑰對身份認證憑據(jù)進行簽名,將簽名結(jié)果和身份認證憑據(jù)發(fā)送給應(yīng)用服務(wù)器;

步驟s6中應(yīng)用服務(wù)器使用公鑰對簽名結(jié)果驗簽,若驗簽通過之后,將身份認證憑據(jù)與用戶進行綁定之前還包括:應(yīng)用服務(wù)器判斷當前服務(wù)器時間是否早于身份認證憑據(jù)的有效期,是則繼續(xù)執(zhí)行將所述身份認證憑據(jù)與用戶進行綁定,否則向認證服務(wù)返回身份認證憑據(jù)無效信息。

本實施例又提供一種頒發(fā)身份認證憑據(jù)的方法,參見圖1,包括:

步驟r1、認證服務(wù)器接收應(yīng)用服務(wù)器發(fā)送的鑒權(quán)請求,當用戶從用戶認證頁面輸入用戶信息時,從用戶認證頁面獲取用戶信息,并判斷用戶信息是否合法,是則生成授權(quán)碼,并將授權(quán)碼返回給應(yīng)用服務(wù)器,執(zhí)行步驟r2,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束;

具體的,鑒權(quán)請求中包括:重定向url;

將授權(quán)碼返回給應(yīng)用服務(wù)器具體為:將授權(quán)碼根據(jù)重定向url返回給應(yīng)用服務(wù)器。

優(yōu)選的,步驟r1中判定所述用戶信息合法后,生成授權(quán)碼之前還包括:認證服務(wù)器根據(jù)請求訪問的資源范圍跳轉(zhuǎn)到用戶授權(quán)頁面,判斷從用戶授權(quán)頁面中是否可以獲取到對請求訪問的資源范圍的允許授權(quán)信息,是則生成授權(quán)碼,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。

優(yōu)選的,步驟r1中認證服務(wù)器接收到鑒權(quán)請求之后,從用戶認證頁面獲取用戶信息之前還包括:認證服務(wù)器判斷鑒權(quán)請求中的所有必要參數(shù)是否都存在且有效,是則繼續(xù)執(zhí)行從用戶認證頁面獲取用戶信息,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。

具體的,判斷所述鑒權(quán)請求中的所有必要參數(shù)是否都存在且有效具體包括:

步驟c1、認證服務(wù)器判斷鑒權(quán)請求中是否包含應(yīng)用標識和重定向url,是則執(zhí)行步驟c2,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束;

步驟c2、認證服務(wù)器從鑒權(quán)請求中獲取應(yīng)用標識,根據(jù)應(yīng)用標識判斷應(yīng)用服務(wù)器是否已經(jīng)注冊過,是則執(zhí)行步驟c3,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束;

步驟c3、認證服務(wù)器根據(jù)應(yīng)用標識獲取應(yīng)用服務(wù)器預(yù)先注冊的重定向url,并判斷鑒權(quán)請求中的重定向url與預(yù)存的重定向url是否匹配,是則執(zhí)行步驟c2,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。

步驟r2、當認證服務(wù)器接收到應(yīng)用服務(wù)器發(fā)送的獲取身份認證憑據(jù)請求時,根據(jù)獲取身份認證憑據(jù)請求中的應(yīng)用標識和應(yīng)用密碼判斷應(yīng)用服務(wù)器是否合法,并判斷獲取身份認證憑據(jù)請求中的授權(quán)碼是否有效,當判斷均為是時執(zhí)行步驟r3,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束;

具體的,步驟r2具體包括:認證服務(wù)器從獲取身份認證憑據(jù)請求中獲取應(yīng)用密文信息,對應(yīng)用密文信息進行解密得到應(yīng)用標識和應(yīng)用密碼,根據(jù)應(yīng)用標識和應(yīng)用密碼判斷應(yīng)用服務(wù)器是否合法,并判斷獲取身份認證憑據(jù)請求中的授權(quán)碼是否有效,當判斷均為是時執(zhí)行步驟r3,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。

步驟r3、認證服務(wù)器根據(jù)應(yīng)用標識,認證服務(wù)器標識和用戶信息組織身份認證憑據(jù),并使用私鑰對身份認證憑據(jù)進行簽名,將簽名結(jié)果發(fā)送給應(yīng)用服務(wù)器。

若鑒權(quán)請求中還包括:請求訪問的資源范圍;

步驟r3具體包括:認證服務(wù)器生成訪問憑據(jù),將訪問憑據(jù)和請求訪問的資源范圍對應(yīng)存儲;并根據(jù)應(yīng)用標識、認證服務(wù)器標識和用戶信息組織身份認證憑據(jù),并使用私鑰對身份認證憑據(jù)和訪問憑據(jù)進行簽名,并將簽名結(jié)果和訪問憑據(jù)發(fā)送給應(yīng)用服務(wù)器。

可選的,步驟r3具體包括:認證服務(wù)器獲取當前服務(wù)器時間作為身份認證憑據(jù)發(fā)送時間,根據(jù)應(yīng)用標識、認證服務(wù)器標識、用戶信息和身份認證憑據(jù)發(fā)送時間組織身份認證憑據(jù),并使用私鑰對身份認證憑據(jù)進行簽名,將簽名結(jié)果發(fā)送給所述應(yīng)用服務(wù)器。

可選的,步驟r1中判定用戶合法時還包括:獲取服務(wù)器當前時間作為鑒別終端用戶時間;

步驟r3具體包括:認證服務(wù)器根據(jù)所述應(yīng)用標識、認證服務(wù)器標識、用戶信息和鑒別終端用戶時間組織身份認證憑據(jù),并使用私鑰對身份認證憑據(jù)進行簽名,將簽名結(jié)果發(fā)送給應(yīng)用服務(wù)器。

可選的,步驟r3中具體包括:認證服務(wù)器根據(jù)應(yīng)用標識、認證服務(wù)器標識、用戶信息和身份認證憑據(jù)有效期組織身份認證憑據(jù),并使用私鑰對身份認證憑據(jù)進行簽名,將簽名結(jié)果發(fā)送給應(yīng)用服務(wù)器。

實施例2

本實施例提供一種頒發(fā)身份認證憑據(jù)的方法,如圖2和圖3所示,包括:

終端用戶需預(yù)先向認證服務(wù)器注冊用戶信息,所述用戶信息具體包括用戶名和密碼;認證服務(wù)器需要為終端用戶分配唯一的終端用戶標識。

應(yīng)用服務(wù)器需預(yù)先向認證服務(wù)器注冊應(yīng)用服務(wù)器的重定向url以及認證服務(wù)器所要求的其他信息,認證服務(wù)器所要求的其他信息包括應(yīng)用名稱、應(yīng)用密碼;認證服務(wù)器為應(yīng)用服務(wù)器分配唯一的應(yīng)用標識;并且應(yīng)用服務(wù)器應(yīng)預(yù)先與認證服務(wù)器協(xié)商身份認證憑據(jù)的公私鑰對等信息。

步驟101、應(yīng)用服務(wù)器當接收到用戶觸發(fā)的訪問請求后,跳轉(zhuǎn)到用戶認證頁面,并組織包括請求訪問的資源范圍、響應(yīng)類型、應(yīng)用標識、重定向url的鑒權(quán)請求。

請求訪問的資源范圍需包含預(yù)設(shè)參數(shù),用于標識本請求是一個身份認證請求;響應(yīng)類型用于確定當前使用的用戶認證方式,例如當使用授權(quán)碼鑒別流程時,該響應(yīng)類型具體為code;優(yōu)選的,鑒權(quán)請求還包括:狀態(tài)標識,該值對認證服務(wù)器和應(yīng)用服務(wù)器外的其他應(yīng)用均不可見。

本實施例中,鑒權(quán)請求具體為:

http/1.1302found

location:https://server.example.com/authorize?

response_type=code&scope=openid%20profile%20email&client_id=s6bhdrkqt3&state=af0ifjsldkj&redirect_uri=https://client.example.org/cb?

其中,response_type=code表明響應(yīng)類型為授權(quán)碼;scope=openid%20profile%20email表明該請求訪問的資源范圍為鑒權(quán)請求,且請求訪問的資源范圍是終端用戶標識和郵箱地址;client_id=s6bhdrkqt3表明依賴方標識為s6bhdrkqt3;state=af0ifjsldkj表明狀態(tài)標識為af0ifjsldkj;redirect_uri=https://client.example.org/cb?表明重定向url為https%3a%2f%2fclient.example.org%2fcb。

步驟102、應(yīng)用服務(wù)器將鑒權(quán)請求發(fā)送給認證服務(wù)器。

步驟103、認證服務(wù)器判斷鑒權(quán)請求中所有必選參數(shù)是否都存在且有效,是則執(zhí)行步驟104;否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。

步驟103具體包括:

步驟103-1、認認證服務(wù)器判斷鑒權(quán)請求中是否包含應(yīng)用標識和重定向url;是則執(zhí)行步驟103-2,否則向所述應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。

步驟103-2、認證服務(wù)器從鑒權(quán)請求中獲取應(yīng)用標識,判斷應(yīng)用服務(wù)器是否已經(jīng)注冊過,是則執(zhí)行步驟103-3,否則向所述應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。

步驟103-3、認證服務(wù)器根據(jù)應(yīng)用標識獲取應(yīng)用服務(wù)器預(yù)先注冊的重定向url,并判斷鑒權(quán)請求中的重定向url與預(yù)存的重定向url是否匹配,是則執(zhí)行步驟104,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。

步驟104、當用戶從用戶認證頁面中輸入用戶信息時,認證服務(wù)器從用戶認證頁面中獲取用戶信息,并判斷用戶信息是否合法,是則獲取服務(wù)器當前時間作為鑒權(quán)終端用戶時間,執(zhí)行步驟105,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。

步驟105、認證服務(wù)器根據(jù)請求訪問的資源范圍跳轉(zhuǎn)到用戶授權(quán)頁面,判斷從用戶授權(quán)頁面中是否可以獲取到對請求訪問的資源范圍的允許授權(quán)信息;是則執(zhí)行步驟106,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束

步驟106、認證服務(wù)器生成授權(quán)碼,將授權(quán)碼與應(yīng)用標識和重定向url綁定,并根據(jù)重定向url和授權(quán)碼生成鑒權(quán)成功響應(yīng),并將鑒權(quán)成功響應(yīng)發(fā)送給應(yīng)用服務(wù)器。

具體的,認證服務(wù)器生成隨機字符串作為授權(quán)碼,例如,本實施例中生成的授權(quán)碼為splxlobezqqybys6wxsbia。

鑒權(quán)響應(yīng)具體為:

http/1.1302found

location:https://client.example.org/cb?code=splxlobezqqybys6wxsbia&state=af0ifjsldkj

其中https://client.example.org/cb?為應(yīng)用服務(wù)器預(yù)存的重定向url,code=splxlobezqqybys6wxsbia表明認證服務(wù)器生成的授權(quán)碼為splxlobezqqybys6wxsbia;

優(yōu)選的,鑒權(quán)響應(yīng)中還包括狀態(tài)標識。

步驟107、應(yīng)用服務(wù)器將應(yīng)用標識和應(yīng)用密碼進行加密生成應(yīng)用密文信息;

步驟108、應(yīng)用服務(wù)器根據(jù)應(yīng)用密文信息、授權(quán)碼和重定向url生成身份認證憑據(jù)請求,并將身份認證憑據(jù)請求發(fā)送過給認證服務(wù)器;

獲取身份認證憑據(jù)請求具體包括

post/tokenhttp/1.1

host:server.example.com

content-type:application/x-www-form-urlencoded

authorization:basicczzcagrsa3f0mzpnwdfmqmf0m2jw

grant_type=authorization_code&code=splxlobezqqybys6wxsbia&redirect_uri=https%3a%2f%2fclient.example.org%2fcb

步驟109、認證服務(wù)器從獲取身份認證憑據(jù)請求中獲取應(yīng)用密文信息,對應(yīng)用密文信息進行解密生成應(yīng)用標識和應(yīng)用密碼;

步驟110、認證服務(wù)器根據(jù)應(yīng)用標識和應(yīng)用密碼判斷所述應(yīng)用服務(wù)器是否合法,是則執(zhí)行步驟111,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。

具體的,認證服務(wù)器判斷是否可以查詢到與應(yīng)用密文信息解密得到的應(yīng)用標識和應(yīng)用密碼一致的信息,是則判定應(yīng)用服務(wù)器合法;否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。

步驟111、認證服務(wù)器判斷獲取身份認證憑據(jù)請求中的重定向url與應(yīng)用服務(wù)器預(yù)先注冊的重定向url是否一致,是則執(zhí)行步驟112,否則向所述應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束

步驟112、認證服務(wù)器從獲取身份認證憑據(jù)請求中獲取授權(quán)碼,判斷授權(quán)碼是否有效,是則執(zhí)行步驟113,向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。

具體的,認證服務(wù)器判斷與應(yīng)用標識符綁定的授權(quán)碼與從獲取認證憑據(jù)請求中獲取到的授權(quán)碼是否一致,是則判定授權(quán)碼有效,否則判定授權(quán)碼無效。

步驟113、認證服務(wù)器獲取當前服務(wù)器時間作為身份認證憑據(jù)的發(fā)放時間;

步驟114、認證服務(wù)器根據(jù)應(yīng)用標識、認證服務(wù)器標識和用戶信息、身份認證憑據(jù)有效期、發(fā)放身份認證憑據(jù)時間、鑒別終端用戶時間組織身份認證憑據(jù);

需要說明的是:身份認證憑據(jù)有效期、發(fā)放身份認證憑據(jù)時間、鑒別終端用戶的時間均為json數(shù)字代表自1970年1月1日0時0分0秒至發(fā)放時間的秒數(shù);本實施例中認證服務(wù)器生成的身份認證憑據(jù)具體為:{"iss":"https://server.example.com","sub":"24400320","aud":"s6bhdrkqt3","nonce":"n-0s6_wza2mj","exp":1311281970,"iat":1311280970,"auth_time":1311280969,"acr":"urn:mace:incommon:iap:silver"}其中"iss":"https://server.example.com"表明認證服務(wù)器標識為https://server.example.com;"sub":"24400320"表明用戶信息為24400320;"aud":"s6bhdrkqt3"表明應(yīng)用服務(wù)器標識為s6bhdrkqt3;"exp":1311281970表明身份認證憑據(jù)有效期;"iat":1311280970,表明發(fā)放身份認證憑據(jù)時間"auth_time":1311280969表明鑒別終端用戶時間;

步驟115、認證服務(wù)器使用私鑰對身份認證憑據(jù)進行簽名得到簽名結(jié)果;

具體的,簽名算法可以為rha256withrsa算法。除此之外,還可以是其他算法,例如sha1withrsa、sm2簽名算法等。

步驟116、認證服務(wù)器生成訪問憑據(jù);根據(jù)身份認證憑據(jù)、簽名結(jié)果和訪問憑據(jù)生成獲取身份認證憑據(jù)響應(yīng);并向應(yīng)用服務(wù)器發(fā)送獲取身份認證憑據(jù)響應(yīng)。

具體的,本實施例中,獲取身份認證憑據(jù)響應(yīng)包括:訪問憑據(jù)、訪問類型、訪問憑據(jù)有效期、更新憑據(jù)、簽名結(jié)果。

優(yōu)選的,獲取身份認證憑據(jù)響應(yīng)的頭部應(yīng)表明,響應(yīng)中的所有內(nèi)容都不會被緩存且所有內(nèi)容都不會被緩存到臨時文件中。

本實施例中,獲取認證憑據(jù)響應(yīng)具體為:

http/1.1200ok

content-type:application/json

cache-control:no-store

pragma:no-cache

{"access_token":"slav32hkkg","token_type":"bearer","refresh_token":"8xloxbtzp8","expires_in":3600,"iss":"https://server.example.com","sub":"24400320","aud":"s6bhdrkqt3","nonce":"n-0s6_wza2mj","exp":1311281970,"iat":1311280970,"auth_time":1311280969,"acr":"urn:mace:incommon:iap:silver""id_token":"eyjhbgcioijsuzi1niisimtpzci6ijflowdkazcifq.ewogimlzcyi6icjodhrwoi8vc2vydmvylmv4yw1wbguuy29tiiwkicjzdwiioiaimjq4mjg5nzyxmdaxiiwkicjhdwqioiaiczzcagrsa3f0myisciaibm9uy2uioiaibi0wuzzfv3pbmk1qiiwkicjlehaioiaxmzexmjgxotcwlaogimlhdci6idezmteyoda5nzakfq.ggw8hz1euvluxnuuijkx_v8a_omxzr0ehr9r6jgdqroof4dagu96sr_p6qjp6icmd3hp99obi1prs-cwh3lo-p146waj8ihehcwl7f09jdijmbqkvpeb2t9cjnqegpe-gccmg4vfkjkm8fcgvnzzun4_ksp0aap1toj1zzwgjxqgbykhiotx7tpdqyhe5lcmikpxfeiqilvq0pc_e2dzl7emopwoaoztf_m0_n0yzfc6g6ejboeorosk5hodalrcvrylsrqazzkflyuvcyixeov9gfnqc3_osjzw2paithfubeebluvvk4xuvrwolrll0nx7rkku8nxnhq-rvkmzqg"}

其中,訪問憑據(jù)access_token具體為slav32hkkg;訪問類型token_type具體為bearer、訪問憑據(jù)有效期expires_in為3600分鐘、更新憑據(jù)refresh_token具體為8xloxbtzp8、簽名結(jié)果為id_token的值。

步驟117、應(yīng)用服務(wù)器從獲取身份認證憑據(jù)響應(yīng)中獲取簽名結(jié)果,使用應(yīng)用服務(wù)器注冊時指定的公鑰對簽名結(jié)果進行驗簽,若驗簽通過,執(zhí)行步驟118,否則進行錯誤處理;

步驟118、應(yīng)用服務(wù)器判斷身份認證憑據(jù)中的應(yīng)用標識是否為正確,是則執(zhí)行步驟119,否則向認證服務(wù)器發(fā)送身份認證憑據(jù)無效信息。

具體的,應(yīng)用服務(wù)器判斷身份認證憑據(jù)中的應(yīng)用標識與應(yīng)用服務(wù)器注冊時認證服務(wù)器分配的應(yīng)用標識是否一致,是則判定應(yīng)用標識正確,否則判定應(yīng)用標識不正確。

步驟119、應(yīng)用服務(wù)器從身份認證憑據(jù)中獲取身份認證憑據(jù)有效期,判斷當前時間是否早于身份認證憑據(jù)有效期,是則執(zhí)行步驟120;否則向認證服務(wù)器發(fā)送身份認證憑據(jù)無效信息。

步驟120、應(yīng)用服務(wù)器從身份認證憑據(jù)中獲取發(fā)放身份認證憑據(jù)時間,判斷發(fā)放身份認證憑據(jù)時間是否早于第一預(yù)設(shè)時間,是則向認證服務(wù)器發(fā)送身份認證憑據(jù)無效信息;否則執(zhí)行步驟121。

步驟121、應(yīng)用服務(wù)器從身份認證憑據(jù)中獲取鑒別終端用戶時間,判斷鑒別終端用戶時間是否早于第二預(yù)設(shè)時間,是則向認證服務(wù)器發(fā)送身份認證憑據(jù)無效信息;否則將身份認證憑據(jù)與用戶綁定。

具體的,將身份認證憑據(jù)與用戶進行綁定具體為:應(yīng)用服務(wù)器從身份憑據(jù)中獲取用戶信息,并將用戶信息與身份認證憑據(jù)對應(yīng)存儲。

將身份認證憑據(jù)與用戶進行綁定具體為:應(yīng)用服務(wù)器分配字符串作為用戶標識,將用戶標識與身份認證憑據(jù)進行對應(yīng)存儲。

需要說明的是步驟121之后,應(yīng)用服務(wù)器完成終端用戶完成身份認證,并可以為終端用戶提供相應(yīng)的服務(wù),或者應(yīng)用服務(wù)器可以使用訪問憑據(jù)從認證服務(wù)器中獲取步驟105所述的認證服務(wù)器中由終端用戶授權(quán)的資源。

進一步的,所述步驟118、步驟119、步驟120和步驟121應(yīng)用服務(wù)器向認證服務(wù)器發(fā)送終端用戶身份認證失敗后還可以執(zhí)行應(yīng)用服務(wù)器向認證服務(wù)器發(fā)送重新認證終端用戶請求。

實施例3

本實施例提供一種頒發(fā)身份認證憑據(jù)的系統(tǒng),參見圖4,包括應(yīng)用服務(wù)器和認證服務(wù)器;

應(yīng)用服務(wù)器具體包括:

第一發(fā)送模塊,用于接收到用戶觸發(fā)的訪問請求,跳轉(zhuǎn)到用戶認證頁面,并向認證服務(wù)器發(fā)送鑒權(quán)請求;還用于將第一組織模塊組織的所獲取身份認證憑據(jù)請求發(fā)送給認證服務(wù)器;

第二接收模塊,用于接收認證服務(wù)器發(fā)送的授權(quán)碼;還用于接收認證服務(wù)器發(fā)送的簽名結(jié)果和身份認證憑據(jù);

第一組織模塊,用于根據(jù)第二接收模塊接收到的授權(quán)碼以及在認證服務(wù)器預(yù)先注冊的應(yīng)用標識和應(yīng)用密碼組織獲取身份認證憑據(jù)請求;

綁定模塊,用于使用公鑰對所述第二接收模塊接收到的所述簽名結(jié)果驗簽,若驗簽通過,將所述第二接收模塊接收到的所述身份認證憑據(jù)與用戶進行綁定;

具體的,綁定模塊具體用于,用于使用公鑰對所述第二接收模塊接收到的所述簽名結(jié)果驗簽,若驗簽通過,從身份認證憑據(jù)中獲取用戶信息,并將用戶信息與身份認證憑據(jù)對應(yīng)存儲。

具體的,綁定模塊具體用于,用于使用公鑰對所述第二接收模塊接收到的所述簽名結(jié)果驗簽,若驗簽通過,分配字符串作為用戶標識,將用戶標識與身份認證憑據(jù)進行對應(yīng)存儲。

優(yōu)選的,綁定模塊具體包括:

驗簽子模塊,用于使用公鑰對所述第二接收模塊接收到的所述簽名結(jié)果驗簽;

第六判斷子模塊,用于若所述驗簽子模塊驗簽通過時,判斷所述第二接收模塊接收到的身份認證憑據(jù)中的應(yīng)用標識是否合法;

綁定子模塊,用于當所述第六判斷子模塊判定所述應(yīng)用標識合法時,將所述身份認證憑據(jù)與用戶進行綁定;

所述第一發(fā)送模塊,還用于當所述第六判斷子模塊判定所述應(yīng)用標識不合法時向所述認證服務(wù)器發(fā)送身份認證憑據(jù)無效信息。

認證服務(wù)器具體包括:

第一接收模塊,用于接收應(yīng)用服務(wù)器發(fā)送的鑒權(quán)請求;還用于接收應(yīng)用服務(wù)器發(fā)送的獲取身份認證憑據(jù)請求;

獲取用戶信息模塊,當用戶從用戶認證頁面輸入用戶信息之后,用于從用戶認證頁面獲取用戶信息;

第一判斷模塊,用于第一接收模塊接收到鑒權(quán)請求之后,判斷獲取用戶信息模塊獲取到的用戶信息是否合法;

授權(quán)碼生成模塊,用于當?shù)谝慌袛嗄K判定用戶信息合法后生成授權(quán)碼;

第二發(fā)送模塊,用于將授權(quán)碼生成模塊生成的授權(quán)碼發(fā)送給應(yīng)用服務(wù)器;還用于將簽名模塊簽名得到的簽名結(jié)果和第二組織模塊組織的身份認證憑據(jù)發(fā)送給應(yīng)用服務(wù)器;

具體的,第一接收模塊接收到的所述鑒權(quán)請求中還包括重定向url;

第二發(fā)送模塊,具體用于將授權(quán)碼生成模塊生成的授權(quán)碼根據(jù)重定向url發(fā)送給應(yīng)用服務(wù)器。

第二判斷模塊,用于根據(jù)第一接收模塊接收到的獲取身份認證憑據(jù)請求中的應(yīng)用標識和應(yīng)用密碼判斷應(yīng)用服務(wù)器是否合法,并判斷所述第一接收模塊接收到的獲取身份認證憑據(jù)請求中的授權(quán)碼是否有效;

第二組織模塊,用于當?shù)诙袛嗄K判定應(yīng)用服務(wù)器合法且授權(quán)碼有效時根據(jù)第一接收模塊接收到的獲取身份認證憑據(jù)請求中的應(yīng)用標識、認證服務(wù)器標識和獲取用戶信息模塊獲取到的用戶信息組織身份認證憑據(jù);

簽名模塊,用于使用私鑰對第二組織模塊組織得到的身份認證憑據(jù)進行簽名得到簽名結(jié)果。

優(yōu)選的,認證服務(wù)器還包括:第三判斷模塊,用于判斷所述第一接收模塊接收到的鑒權(quán)請求中的所有必要參數(shù)是否都存在且有效;

第一判斷模塊,用于當?shù)谌袛嗄K判定鑒權(quán)請求中的所有必要參數(shù)存在且有效時,判斷獲取用戶信息模塊獲取到的用戶信息是否合法。

第二發(fā)送模塊,還用于第三判斷模塊判定鑒權(quán)請求中所有必要參數(shù)不都存在或者不都有效時向應(yīng)用服務(wù)器發(fā)送鑒權(quán)失敗響應(yīng)。

更為詳細的是,第三判斷模塊具體包括:

第一判斷子模塊,用于判斷第一接收模塊接收到的鑒權(quán)請求中是否包含應(yīng)用標識和重定向url;

第二判斷子模塊,用于第一判斷子模塊判定鑒權(quán)請求中包含應(yīng)用標識和重定向url時從鑒權(quán)請求中獲取應(yīng)用標識,根據(jù)應(yīng)用標識判斷應(yīng)用服務(wù)器是否已經(jīng)注冊過;

第三判斷子模塊,用于當?shù)诙袛嘧幽K判定應(yīng)用服務(wù)器已經(jīng)注冊過時根據(jù)應(yīng)用標識獲取預(yù)存的重定向url,根據(jù)應(yīng)用標識獲取應(yīng)用服務(wù)器預(yù)先注冊的重定向url,并判斷鑒權(quán)請求中的重定向url與預(yù)存的重定向url是否匹配;

第一判斷模塊,具體用于第三判斷子模塊判定所述鑒權(quán)請求中的重定向url與所述預(yù)存的重定向url匹配時,判斷獲取用戶信息模塊獲取到的用戶信息是否合法;

第二發(fā)送模塊,還用于第三判斷子模塊模塊判定鑒權(quán)請求中的重定向url與預(yù)存的重定向url不匹配時向應(yīng)用服務(wù)器發(fā)送鑒權(quán)失敗響應(yīng)。

優(yōu)選的,第一接收模塊接收到的鑒權(quán)請求中還包括:請求訪問的資源范圍;

第二組織模塊,具體用于當?shù)诙袛嗄K判定應(yīng)用服務(wù)器合法且授權(quán)碼有效時生成訪問憑據(jù),將訪問憑據(jù)和請求訪問的資源范圍對應(yīng)存儲;并根據(jù)第一接收模塊接收到的獲取身份認證憑據(jù)請求中的應(yīng)用標識、認證服務(wù)器標識和獲取用戶信息模塊獲取到的用戶信息組織身份認證憑據(jù);

第二發(fā)送模塊,還用于將所述訪問憑據(jù)發(fā)送給應(yīng)用服務(wù)器。

應(yīng)用服務(wù)器還包括:訪問資源模塊,用于使用訪問憑據(jù)從認證服務(wù)器中獲取請求訪問的資源范圍內(nèi)的資源。

優(yōu)選的,所述認證服務(wù)器還包括:

第四判斷模塊,用于根據(jù)第一接收模塊接收到的鑒權(quán)請求中的請求訪問的資源范圍跳轉(zhuǎn)到用戶授權(quán)頁面,判斷從用戶授權(quán)頁面中是否可以獲取到對請求訪問的資源范圍的允許授權(quán)信息;

授權(quán)碼生成模塊,用于當?shù)谒呐袛嗄K判定接收到對請求訪問的資源范圍的允許授權(quán)信息時生成授權(quán)碼;

第二發(fā)送模塊,還用于第四判斷模塊判定沒有接收到對請求訪問的資源范圍的允許授權(quán)信息時向應(yīng)用服務(wù)器發(fā)送鑒權(quán)失敗響應(yīng)。

優(yōu)選的,第一組織模塊具體包括:

加密子模塊,用于將預(yù)先在認證服務(wù)器注冊的應(yīng)用標識和應(yīng)用密碼進行加密生成應(yīng)用密文信息;

第一組織子模塊,用于根據(jù)加密子模塊生成的應(yīng)用密文信息、第一接收模塊接收到的授權(quán)碼和重定向url生成獲取身份認證憑據(jù)請求;

第一發(fā)送模塊,用于將第一組織子模塊生成的獲取身份認證憑據(jù)請求發(fā)送給認證服務(wù)器;

第二判斷模塊具體包括:

解密子模塊,用于從第二接收模塊中的獲取身份認證憑據(jù)請求中獲取應(yīng)用密文信息,對應(yīng)用密文信息進行解密生成應(yīng)用標識和應(yīng)用密碼;

第四判斷子模塊,用于根據(jù)解密子模塊解密得到的應(yīng)用標識和應(yīng)用密碼判斷所述應(yīng)用服務(wù)器是否合法;

第五判斷子模塊,用于從第一接收模塊接收到的的獲取身份認證憑據(jù)請求中獲取授權(quán)碼,判斷授權(quán)碼是否有效;

第二組織模塊,用于當?shù)谖迮袛嘧幽K判定授權(quán)碼有效且所述第四判斷子模塊判定應(yīng)用服務(wù)器合法時根據(jù)應(yīng)用標識、認證服務(wù)器標識和用戶信息組織身份認證憑據(jù),并使用私鑰對身份認證憑據(jù)進行簽名得到簽名結(jié)果。

可選的,第二組織模塊,具體用于獲取當前服務(wù)器時間作為身份認證憑據(jù)發(fā)送時間,根據(jù)應(yīng)用標識、認證服務(wù)器標識、用戶信息和身份認證憑據(jù)發(fā)送時間組織身份認證憑據(jù);

相應(yīng)的,所述綁定模塊包括:

驗簽子模塊,用于使用公鑰對第二接收模塊接收到的簽名結(jié)果驗簽;

第七判斷子模塊,用于若驗簽子模塊驗簽通過時判斷第二接收模塊接收到的身份認證憑據(jù)中的身份認證憑據(jù)發(fā)送時間是否早于第一預(yù)設(shè)時間;

綁定子模塊,用于當?shù)谄吲袛嘧幽K身份認證憑據(jù)發(fā)送時間不早于第一預(yù)設(shè)時間時,將身份認證憑據(jù)與用戶進行綁定;

第一發(fā)送模塊,還用于第七判斷子模塊所述身份認證憑據(jù)發(fā)送時間早于第一預(yù)設(shè)時間時向所述認證服務(wù)器發(fā)送身份認證憑據(jù)無效信息。

可選的,第一判斷模塊,還用于獲取服務(wù)器當前時間作為鑒別終端用戶時間;

第二組織模塊,具體用于根據(jù)應(yīng)用標識、認證服務(wù)器標識、用戶信息和第一判斷模塊得到的所述鑒別終端用戶時間組織身份認證憑據(jù)

相應(yīng)的,所述綁定模塊包括:

驗簽子模塊,用于使用公鑰對第二接收模塊接收到的簽名結(jié)果驗簽;

第八判斷子模塊,用于若驗簽子模塊驗簽通過時判斷第二接收模塊接收到的身份認證憑據(jù)中的鑒別終端用戶時間是否早于第二預(yù)設(shè)時間;

綁定子模塊,用于當?shù)诎伺袛嘧幽K判定所述鑒別終端用戶時間不早于第二預(yù)設(shè)時間時將身份認證憑據(jù)與用戶進行綁定;

第一發(fā)送模塊,還用于當?shù)诎伺袛嘧幽K判定鑒別終端用戶時間早于第二預(yù)設(shè)時間時向認證服務(wù)器發(fā)送身份認證憑據(jù)無效信息。

可選的,第二組織模塊,具體用于根據(jù)應(yīng)用標識、認證服務(wù)器標識、用戶信息和身份認證憑據(jù)有效期組織身份認證憑據(jù);

相應(yīng)的,綁定模塊包括:

驗簽子模塊,用于使用公鑰對第二接收模塊接收到的簽名結(jié)果驗簽;

第九判斷子模塊,用于判斷當前服務(wù)器時間是否早于身份認證憑據(jù)的有效期;

綁定子模塊,用于當?shù)诰排袛嘧幽K判定當前服務(wù)器時間早于身份認證憑據(jù)的有效期時將身份認證憑據(jù)與用戶進行綁定;

第一發(fā)送模塊,還用于當?shù)诰排袛嘧幽K判定當前服務(wù)器時間不早于身份認證憑據(jù)的有效期時向認證服務(wù)器發(fā)送身份認證憑據(jù)無效信息。

實施例4

本實施例提供一種頒發(fā)身份認證憑據(jù)的認證服務(wù)器,參見圖5,包括:

第一接收模塊,用于接收應(yīng)用服務(wù)器發(fā)送的鑒權(quán)請求;還用于接收應(yīng)用服務(wù)器發(fā)送的獲取身份認證憑據(jù)請求;

獲取用戶信息模塊,當用戶從用戶認證頁面輸入用戶信息時,用于從用戶認證頁面獲取用戶信息;

第一判斷模塊,用于第一接收模塊接收到鑒權(quán)請求之后,判斷獲取用戶信息模塊獲取到的用戶信息是否合法;

授權(quán)碼生成模塊,用于當?shù)谝慌袛嗄K判定用戶信息合法后生成授權(quán)碼;

第二發(fā)送模塊,用于將授權(quán)碼生成模塊生成的授權(quán)碼發(fā)送給應(yīng)用服務(wù)器;還用于將簽名模塊簽名得到的簽名結(jié)果和第二組織模塊組織的身份認證憑據(jù)發(fā)送給應(yīng)用服務(wù)器;

具體的,第一接收模塊接收到的所述鑒權(quán)請求中還包括重定向url;

第二發(fā)送模塊,具體用于將授權(quán)碼生成模塊生成的授權(quán)碼根據(jù)重定向url發(fā)送給應(yīng)用服務(wù)器。

第二判斷模塊,用于根據(jù)第一接收模塊接收到的獲取身份認證憑據(jù)請求中的應(yīng)用標識和應(yīng)用密碼判斷應(yīng)用服務(wù)器是否合法,并判斷所述第一接收模塊接收到的獲取身份認證憑據(jù)請求中的授權(quán)碼是否有效;

第二組織模塊,用于當?shù)诙袛嗄K判定應(yīng)用服務(wù)器合法且授權(quán)碼有效時根據(jù)第一接收模塊接收到的獲取身份認證憑據(jù)請求中的應(yīng)用標識、認證服務(wù)器標識和獲取用戶信息模塊中獲取到的用戶信息組織身份認證憑據(jù);

簽名模塊,用于使用私鑰對第二組織模塊組織得到的身份認證憑據(jù)進行簽名得到簽名結(jié)果。

優(yōu)選的,認證服務(wù)器還包括:第三判斷模塊,用于判斷所述第一接收模塊接收到的鑒權(quán)請求中的所有必要參數(shù)是否都存在且有效;

第一判斷模塊,用于當?shù)谌袛嗄K判定鑒權(quán)請求中的所有必要參數(shù)存在且有效時,第一接收模塊接收到鑒權(quán)請求之后,判斷獲取用戶信息模塊獲取到的用戶信息是否合法。

第二發(fā)送模塊,還用于第三判斷模塊判定鑒權(quán)請求中所有必要參數(shù)不都存在或者不都有效時向應(yīng)用服務(wù)器發(fā)送鑒權(quán)失敗響應(yīng)。

更為詳細的是,第三判斷模塊具體包括:

第一判斷子模塊,用于判斷第一接收模塊接收到的鑒權(quán)請求中是否包含應(yīng)用標識和重定向url;

第二判斷子模塊,用于第一判斷子模塊判定鑒權(quán)請求中包含應(yīng)用標識和重定向url時從鑒權(quán)請求中獲取應(yīng)用標識,根據(jù)應(yīng)用標識判斷應(yīng)用服務(wù)器是否已經(jīng)注冊過;

第三判斷子模塊,用于當?shù)诙袛嘧幽K判定應(yīng)用服務(wù)器已經(jīng)注冊過時根據(jù)應(yīng)用標識獲取預(yù)存的重定向url,根據(jù)應(yīng)用標識獲取應(yīng)用服務(wù)器預(yù)先注冊的重定向url,并判斷鑒權(quán)請求中的重定向url與預(yù)存的重定向url是否匹配;

第一判斷模塊,具體用于第三判斷子模塊判定所述鑒權(quán)請求中的重定向url與所述預(yù)存的重定向url匹配時,判斷獲取用戶信息模塊獲取到的用戶信息是否合法;

第二發(fā)送模塊,還用于第三判斷子模塊模塊判定鑒權(quán)請求中的重定向url與預(yù)存的重定向url不匹配時向應(yīng)用服務(wù)器發(fā)送鑒權(quán)失敗響應(yīng)。

優(yōu)選的,第一接收模塊接收到的鑒權(quán)請求中還包括:請求訪問的資源范圍;

第二組織模塊,具體用于當?shù)诙袛嗄K判定應(yīng)用服務(wù)器合法且授權(quán)碼有效時生成訪問憑據(jù),將訪問憑據(jù)和請求訪問的資源范圍對應(yīng)存儲;并根據(jù)第一接收模塊接收到的獲取身份認證憑據(jù)請求中的應(yīng)用標識、認證服務(wù)器標識和第一判斷模塊中獲取到的用戶信息組織身份認證憑據(jù);

第二發(fā)送模塊,還用于將所述訪問憑據(jù)發(fā)送給應(yīng)用服務(wù)器。

優(yōu)選的,所述認證服務(wù)器還包括:

第四判斷模塊,用于根據(jù)第一接收模塊接收到的鑒權(quán)請求中的請求訪問的資源范圍跳轉(zhuǎn)到用戶授權(quán)頁面,判斷從用戶授權(quán)頁面中是否可以獲取到對請求訪問的資源范圍的允許授權(quán)信息;

授權(quán)碼生成模塊,用于當?shù)谒呐袛嗄K判定接收到對請求訪問的資源范圍的允許授權(quán)信息時生成授權(quán)碼;

第二發(fā)送模塊,還用于第四判斷模塊判定沒有接收到對請求訪問的資源范圍的允許授權(quán)信息時向應(yīng)用服務(wù)器發(fā)送鑒權(quán)失敗響應(yīng)。

優(yōu)選的,第二判斷模塊具體包括:

解密子模塊,用于從第一接收模塊中的獲取身份認證憑據(jù)請求中獲取應(yīng)用密文信息,對應(yīng)用密文信息進行解密生成應(yīng)用標識和應(yīng)用密碼;

第四判斷子模塊,用于根據(jù)解密子模塊解密得到的應(yīng)用標識和應(yīng)用密碼判斷所述應(yīng)用服務(wù)器是否合法;

第五判斷子模塊,用于從第一接收模塊接收到的的獲取身份認證憑據(jù)請求中獲取授權(quán)碼,判斷授權(quán)碼是否有效;

第二組織模塊,用于當?shù)谖迮袛嘧幽K判定授權(quán)碼有效且所述第四判斷子模塊判定應(yīng)用服務(wù)器合法時根據(jù)應(yīng)用標識、認證服務(wù)器標識和用戶信息組織身份認證憑據(jù),并使用私鑰對身份認證憑據(jù)進行簽名得到簽名結(jié)果。

可選的,第二組織模塊,具體用于獲取當前服務(wù)器時間作為身份認證憑據(jù)發(fā)送時間,根據(jù)應(yīng)用標識、認證服務(wù)器標識、用戶信息和身份認證憑據(jù)發(fā)送時間組織身份認證憑據(jù);

可選的,第一判斷模塊,還用于獲取服務(wù)器當前時間作為鑒別終端用戶時間;

第二組織模塊,具體用于根據(jù)應(yīng)用標識、認證服務(wù)器標識、用戶信息和第一判斷模塊得到的所述鑒別終端用戶時間組織身份認證憑據(jù);

可選的,第二組織模塊,具體用于根據(jù)應(yīng)用標識、認證服務(wù)器標識、用戶信息和身份認證憑據(jù)有效期組織身份認證憑據(jù)。

以上所述的實施例只是本發(fā)明較優(yōu)選的具體實施方式,本領(lǐng)域的技術(shù)人員在本發(fā)明技術(shù)方案范圍內(nèi)進行的通常變化和替換都應(yīng)包含在本發(fā)明的保護范圍內(nèi)。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1