本發(fā)明涉及通信領(lǐng)域,特別涉及一種頒發(fā)身份認(rèn)證憑據(jù)的方法、系統(tǒng)及認(rèn)證服務(wù)器。
背景技術(shù):
現(xiàn)有技術(shù)中用戶首次使用某網(wǎng)站的服務(wù)時(shí)一般需要經(jīng)過(guò)繁瑣的注冊(cè)賬號(hào)的過(guò)程,網(wǎng)站注冊(cè)賬號(hào)一般通過(guò)兩種方式,第一種為通過(guò)用戶自選的字母或者數(shù)據(jù)作為賬號(hào),同時(shí)需要填寫(xiě)繁多的用戶信息;并且當(dāng)用戶在多個(gè)網(wǎng)站注冊(cè)賬號(hào)后則面臨記憶大量的網(wǎng)站賬號(hào)的麻煩,若用戶忘記網(wǎng)站賬號(hào)則需要重新注冊(cè)網(wǎng)站賬號(hào);第二種方式用戶也可以通過(guò)已有的郵箱地址來(lái)注冊(cè)網(wǎng)站賬號(hào),但是用戶往往會(huì)接收到更多的垃圾郵件,用戶體驗(yàn)差。每個(gè)提供服務(wù)的網(wǎng)站都需要建立自己的會(huì)員系統(tǒng)和登錄功能,增加的網(wǎng)站的開(kāi)發(fā)成本。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種頒發(fā)身份認(rèn)證憑據(jù)的方法、系統(tǒng)及認(rèn)證服務(wù)器,
一種頒發(fā)身份認(rèn)證憑據(jù)的方法,包括:
步驟s1、當(dāng)接收到用戶觸發(fā)的訪問(wèn)請(qǐng)求后,應(yīng)用服務(wù)器跳轉(zhuǎn)到用戶認(rèn)證頁(yè)面,并向認(rèn)證服務(wù)器發(fā)送鑒權(quán)請(qǐng)求;
步驟s2、當(dāng)用戶從用戶認(rèn)證頁(yè)面輸入用戶信息時(shí),認(rèn)證服務(wù)器從用戶認(rèn)證頁(yè)面獲取用戶信息,并判斷用戶信息是否合法,是則生成授權(quán)碼,并將授權(quán)法返回給應(yīng)用服務(wù)器,執(zhí)行步驟s3,否則結(jié)束;
步驟s3、應(yīng)用服務(wù)器根據(jù)授權(quán)碼以及于現(xiàn)在認(rèn)證服務(wù)器注冊(cè)的應(yīng)用標(biāo)識(shí)和應(yīng)用密碼組織獲取身份認(rèn)證憑據(jù)請(qǐng)求,并將獲取身份認(rèn)證憑據(jù)請(qǐng)求發(fā)送給認(rèn)證服務(wù)器;
步驟s4、認(rèn)證服務(wù)器根據(jù)獲取身份認(rèn)證憑據(jù)請(qǐng)求中的應(yīng)用標(biāo)識(shí)和應(yīng)用密碼判斷應(yīng)用的服務(wù)器是否合法,并判斷獲取身份認(rèn)證憑據(jù)請(qǐng)求中的授權(quán)碼是否有效,當(dāng)判斷均為是時(shí)執(zhí)行步驟s5,否則結(jié)束;
步驟s5、認(rèn)證服務(wù)器根據(jù)應(yīng)用標(biāo)識(shí),認(rèn)證服務(wù)器標(biāo)識(shí)和用戶信息組織身份認(rèn)證憑據(jù),并使用私鑰對(duì)身份認(rèn)證憑據(jù)進(jìn)行簽名,將簽名結(jié)果和身份認(rèn)證憑據(jù)發(fā)送給應(yīng)用服務(wù)器;
步驟s6、應(yīng)用服務(wù)器使用公鑰對(duì)簽名簽名結(jié)果進(jìn)行驗(yàn)簽,若驗(yàn)簽通過(guò),將所述身份認(rèn)證憑據(jù)與用戶進(jìn)行綁定。
一種頒發(fā)身份認(rèn)證憑據(jù)的方法,包括:
步驟r1、認(rèn)證服務(wù)器接收應(yīng)用服務(wù)器發(fā)送的鑒權(quán)請(qǐng)求,當(dāng)用戶從用戶認(rèn)證頁(yè)面輸入用戶信息時(shí),從用戶認(rèn)證頁(yè)面獲取用戶信息,并判斷用戶信息是否合法,是則生成授權(quán)碼,并將授權(quán)碼返回給應(yīng)用服務(wù)器,執(zhí)行步驟r2,否則結(jié)束;
步驟r2、當(dāng)認(rèn)證服務(wù)器接收到應(yīng)用服務(wù)器發(fā)送的獲取身份認(rèn)證憑據(jù)請(qǐng)求時(shí),根據(jù)獲取身份認(rèn)證憑據(jù)請(qǐng)求中的應(yīng)用標(biāo)識(shí)和應(yīng)用密碼判斷應(yīng)用服務(wù)器是否合法,并判斷獲取身份認(rèn)證憑據(jù)請(qǐng)求中的授權(quán)碼是否有效,當(dāng)判斷均為是時(shí)執(zhí)行步驟r3,否則結(jié)束;
步驟r3、認(rèn)證服務(wù)器根據(jù)應(yīng)用標(biāo)識(shí),認(rèn)證服務(wù)器標(biāo)識(shí)和用戶信息組織身份認(rèn)證憑據(jù),并使用私鑰對(duì)身份認(rèn)證憑據(jù)進(jìn)行簽名,將簽名結(jié)果和身份認(rèn)證憑據(jù)發(fā)送給應(yīng)用服務(wù)器。
一種頒發(fā)身份認(rèn)證憑據(jù)的系統(tǒng),包括認(rèn)證服務(wù)器和應(yīng)用服務(wù)器;
應(yīng)用服務(wù)器具體包括:
第一發(fā)送模塊,用于接收接收到用戶觸發(fā)的訪問(wèn)請(qǐng)求,跳轉(zhuǎn)到用戶認(rèn)證頁(yè)面,并向認(rèn)證服務(wù)器發(fā)送鑒權(quán)請(qǐng)求;還用于將第一組織模塊組織的所獲取身份認(rèn)證憑據(jù)請(qǐng)求發(fā)送給所述認(rèn)證服務(wù)器;
第二接收模塊,用于接收認(rèn)證服務(wù)器發(fā)送的所述授權(quán)碼;還用于接收認(rèn)證服務(wù)器發(fā)送的簽名結(jié)果和身份認(rèn)證憑據(jù);
第一組織模塊,用于根據(jù)第二接收模塊接收到的授權(quán)碼以及在認(rèn)證服務(wù)器預(yù)先注冊(cè)的應(yīng)用標(biāo)識(shí)和應(yīng)用密碼組織獲取身份認(rèn)證憑據(jù)請(qǐng)求;
綁定模塊,用于使用公鑰對(duì)所述第二接收模塊接收到的所述簽名結(jié)果驗(yàn)簽,若驗(yàn)簽通過(guò),將所述第二接收模塊接收到的所述身份認(rèn)證憑據(jù)與用戶進(jìn)行綁定;
認(rèn)證服務(wù)器具體包括:
第一接收模塊,用于接收應(yīng)用服務(wù)器發(fā)送的鑒權(quán)請(qǐng)求;還用于接收應(yīng)用服務(wù)器發(fā)送的獲取身份認(rèn)證憑據(jù)請(qǐng)求;
獲取用戶信息模塊,當(dāng)用戶從用戶認(rèn)證頁(yè)面輸入用戶信息之后,用于從用戶認(rèn)證頁(yè)面獲取所述用戶信息
第一判斷模塊,用于第一接收模塊接收到鑒權(quán)請(qǐng)求之后,判斷獲取用戶信息模塊獲取到的用戶信息是否合法;
授權(quán)碼生成模塊,用于當(dāng)?shù)谝慌袛嗄K判定用戶信息合法后生成授權(quán)碼;
第一發(fā)送模塊,用于將授權(quán)碼生成模塊生成的授權(quán)碼發(fā)送給應(yīng)用服務(wù)器;還用于將簽名模塊簽名得到的簽名結(jié)果和第二組織模塊組織的身份認(rèn)證憑據(jù)發(fā)送給應(yīng)用服務(wù)器;
第二判斷模塊,用于根據(jù)所述第一接收模塊接收到的所述獲取身份認(rèn)證憑據(jù)請(qǐng)求中的所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密碼判斷所述應(yīng)用服務(wù)器是否合法,并判斷所述所述第一接收模塊接收到的所述獲取身份認(rèn)證憑據(jù)請(qǐng)求中的所述授權(quán)碼是否有效;
第二組織模塊,用于當(dāng)?shù)诙袛嗄K判定應(yīng)用服務(wù)器合法且授權(quán)碼有效時(shí)根據(jù)第一接收模塊接收到的獲取身份認(rèn)證憑據(jù)請(qǐng)求中的應(yīng)用標(biāo)識(shí)、認(rèn)證服務(wù)器標(biāo)識(shí)和獲取用戶信息模塊獲取到的用戶信息組織身份認(rèn)證憑據(jù);
簽名模塊,用于使用私鑰對(duì)第二組織模塊組織得到的身份認(rèn)證憑據(jù)進(jìn)行簽名得到簽名結(jié)果。
一種頒發(fā)身份認(rèn)證憑據(jù)的認(rèn)證服務(wù)器,包括:
第一接收模塊,用于接收應(yīng)用服務(wù)器發(fā)送的鑒權(quán)請(qǐng)求;還用于接收應(yīng)用服務(wù)器發(fā)送的獲取身份認(rèn)證憑據(jù)請(qǐng)求;
獲取用戶信息模塊,當(dāng)用戶從用戶認(rèn)證頁(yè)面輸入用戶信息時(shí),用于從用戶認(rèn)證頁(yè)面獲取用戶信息;
第一判斷模塊,用于當(dāng)?shù)谝唤邮漳K接收到鑒權(quán)請(qǐng)求時(shí),判斷獲取用戶信息模塊獲取到的用戶信息是否合法;
授權(quán)碼生成模塊,用于當(dāng)?shù)谝慌袛嗄K判定用戶信息合法后生成授權(quán)碼;
第一發(fā)送模塊,用于將授權(quán)碼生成模塊生成的授權(quán)碼發(fā)送給應(yīng)用服務(wù)器;還用于將簽名模塊簽名得到的簽名結(jié)果和第二組織模塊組織的身份認(rèn)證憑據(jù)發(fā)送給應(yīng)用服務(wù)器;
第二判斷模塊,用于根據(jù)所述第一接收模塊接收到的所述獲取身份認(rèn)證憑據(jù)請(qǐng)求中的所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密碼判斷所述應(yīng)用服務(wù)器是否合法,并判斷所述所述第一接收模塊接收到的所述獲取身份認(rèn)證憑據(jù)請(qǐng)求中的所述授權(quán)碼是否有效;
第二組織模塊,用于當(dāng)?shù)诙袛嗄K判定應(yīng)用服務(wù)器合法且授權(quán)碼有效時(shí)根據(jù)第一接收模塊接收到的獲取身份認(rèn)證憑據(jù)請(qǐng)求中的應(yīng)用標(biāo)識(shí)、認(rèn)證服務(wù)器標(biāo)識(shí)和獲取用戶信息模塊獲取到的用戶信息組織身份認(rèn)證憑據(jù);
簽名模塊,用于使用私鑰對(duì)第二組織模塊組織得到的身份認(rèn)證憑據(jù)進(jìn)行簽名得到簽名結(jié)果。
本發(fā)明的有益效果為:簡(jiǎn)化了用戶注冊(cè)登錄網(wǎng)站的流程,避免了重復(fù)注冊(cè)、填寫(xiě)身份資料的繁瑣過(guò)程,使得用戶登錄更加快捷方便,用戶不需要記憶大量的網(wǎng)站賬號(hào),用戶只需在認(rèn)證服務(wù)器上注冊(cè)身份認(rèn)證憑據(jù)即可登錄任何支持該身份認(rèn)證憑據(jù)登錄的網(wǎng)站自由登錄,并且為提供服務(wù)的網(wǎng)站減少了創(chuàng)建自己的會(huì)員系統(tǒng)和登錄功能的成本。
附圖說(shuō)明
為了更清楚的說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單的介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例1提供的一種頒發(fā)身份認(rèn)證憑據(jù)的方法的流程圖;
圖2和圖3為本發(fā)明實(shí)施例2提供的一種頒發(fā)身份認(rèn)證憑據(jù)的方法的流程圖;
圖4為本發(fā)明實(shí)施例3提供的一種頒發(fā)身份認(rèn)證憑據(jù)的系統(tǒng)的方框圖;
圖5為本發(fā)明實(shí)施例4提供的一種頒發(fā)身份認(rèn)證憑據(jù)的認(rèn)證服務(wù)器的方框圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例1
本實(shí)施例提供一種頒發(fā)身份認(rèn)證憑據(jù)的方法,具體包括:
步驟s1、當(dāng)接收到用戶觸發(fā)的訪問(wèn)請(qǐng)求后,應(yīng)用服務(wù)器跳轉(zhuǎn)到用戶認(rèn)證頁(yè)面,并向認(rèn)證服務(wù)器發(fā)送鑒權(quán)請(qǐng)求;
步驟s2、當(dāng)用戶從用戶認(rèn)證頁(yè)面輸入用戶信息時(shí),認(rèn)證服務(wù)器從用戶認(rèn)證頁(yè)面獲取用戶信息,并判斷用戶信息是否合法,是則生成授權(quán)碼,并將授權(quán)法返回給應(yīng)用服務(wù)器,執(zhí)行步驟s3,否則結(jié)束;
進(jìn)一步給的,鑒權(quán)請(qǐng)求中包括:重定向url;
將授權(quán)碼返回給應(yīng)用服務(wù)器具體為:將授權(quán)碼根據(jù)重定向url返回給應(yīng)用服務(wù)器。
優(yōu)選的,步驟s1和步驟s2之間還包括:認(rèn)證服務(wù)器判斷鑒權(quán)請(qǐng)求中的所有必要參數(shù)是否都存在且有效,是則執(zhí)行步驟s2,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。
進(jìn)一步的,判斷鑒權(quán)請(qǐng)求中的所有必要參數(shù)是否都存在且有效具體包括:
步驟a1、認(rèn)證服務(wù)器判斷鑒權(quán)請(qǐng)求中是否包含應(yīng)用標(biāo)識(shí)和重定向url,是則執(zhí)行步驟a2,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束;
步驟a2、認(rèn)證服務(wù)器從鑒權(quán)請(qǐng)求中獲取應(yīng)用標(biāo)識(shí),根據(jù)應(yīng)用標(biāo)識(shí)判斷應(yīng)用服務(wù)器是否已經(jīng)注冊(cè)過(guò),是則執(zhí)行步驟a3,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束;
步驟a3、認(rèn)證服務(wù)器根據(jù)應(yīng)用標(biāo)識(shí)獲取應(yīng)用服務(wù)器預(yù)先注冊(cè)的重定向url,并判斷鑒權(quán)請(qǐng)求中的重定向url與預(yù)存的重定向url是否匹配,是則執(zhí)行步驟s2,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。
步驟s3、應(yīng)用服務(wù)器根據(jù)授權(quán)碼以及預(yù)先在認(rèn)證服務(wù)器注冊(cè)的應(yīng)用標(biāo)識(shí)和應(yīng)用密碼組織獲取身份認(rèn)證憑據(jù)請(qǐng)求,并將獲取身份認(rèn)證憑據(jù)請(qǐng)求發(fā)送給認(rèn)證服務(wù)器;
步驟s4、認(rèn)證服務(wù)器根據(jù)獲取身份認(rèn)證憑據(jù)請(qǐng)求中的應(yīng)用標(biāo)識(shí)和應(yīng)用密碼判斷應(yīng)用服務(wù)器是否合法,并判斷獲取身份認(rèn)證憑據(jù)請(qǐng)求中的授權(quán)碼是否有效,當(dāng)判斷均為是時(shí)執(zhí)行步驟s5,否則結(jié)束;
優(yōu)選的,步驟s3具體包括:
步驟b1、應(yīng)用服務(wù)器將預(yù)先在認(rèn)證服務(wù)器注冊(cè)的應(yīng)用標(biāo)識(shí)和應(yīng)用密碼進(jìn)行加密生成應(yīng)用密文信息;
步驟b2、應(yīng)用服務(wù)器根據(jù)應(yīng)用密文信息和授權(quán)碼組織獲取身份認(rèn)證憑據(jù)請(qǐng)求,并將獲取身份認(rèn)證憑據(jù)請(qǐng)求發(fā)送給認(rèn)證服務(wù)器;
步驟s4具體包括:認(rèn)證服務(wù)器從獲取身份認(rèn)證憑據(jù)請(qǐng)求中獲取應(yīng)用密文信息,對(duì)應(yīng)用密文信息進(jìn)行解密得到應(yīng)用標(biāo)識(shí)和所述應(yīng)用密碼,根據(jù)應(yīng)用標(biāo)識(shí)和應(yīng)用密碼判斷應(yīng)用服務(wù)器是否合法,并判斷獲取身份認(rèn)證憑據(jù)請(qǐng)求中的授權(quán)碼是否有效,當(dāng)判斷均為是時(shí)執(zhí)行步驟s5,否則結(jié)束。
步驟s5、認(rèn)證服務(wù)器根據(jù)應(yīng)用標(biāo)識(shí),認(rèn)證服務(wù)器標(biāo)識(shí)和用戶信息組織身份認(rèn)證憑據(jù),并使用私鑰對(duì)身份認(rèn)證憑據(jù)進(jìn)行簽名,將簽名結(jié)果和身份認(rèn)證憑據(jù)發(fā)送給應(yīng)用服務(wù)器;
步驟s6、應(yīng)用服務(wù)器使用公鑰對(duì)簽名結(jié)果進(jìn)行驗(yàn)簽,若驗(yàn)簽通過(guò),將身份認(rèn)證憑據(jù)與用戶進(jìn)行綁定。
具體的,將身份認(rèn)證憑據(jù)與用戶進(jìn)行綁定具體為:所述應(yīng)用服務(wù)器從身份憑據(jù)中獲取用戶信息,并將用戶信息與身份認(rèn)證憑據(jù)對(duì)應(yīng)存儲(chǔ)。
可選的,將身份認(rèn)證憑據(jù)與用戶進(jìn)行綁定具體為:應(yīng)用服務(wù)器分配字符串作為用戶標(biāo)識(shí),將用戶標(biāo)識(shí)與身份認(rèn)證憑據(jù)進(jìn)行對(duì)應(yīng)存儲(chǔ)。
優(yōu)選的,鑒權(quán)請(qǐng)求中還包括:請(qǐng)求訪問(wèn)的資源范圍;
步驟s5具體包括:認(rèn)證服務(wù)器生成訪問(wèn)憑據(jù),將訪問(wèn)憑據(jù)和請(qǐng)求訪問(wèn)的資源范圍對(duì)應(yīng)存儲(chǔ);并根據(jù)應(yīng)用標(biāo)識(shí)、認(rèn)證服務(wù)器標(biāo)識(shí)和用戶信息組織身份認(rèn)證憑據(jù),并使用私鑰對(duì)身份認(rèn)證憑據(jù)進(jìn)行簽名,并將身份認(rèn)證憑據(jù)、簽名結(jié)果和訪問(wèn)憑據(jù)發(fā)送給應(yīng)用服務(wù)器;
步驟s6之后還包括:應(yīng)用服務(wù)器使用訪問(wèn)憑據(jù)從認(rèn)證服務(wù)器中獲取請(qǐng)求訪問(wèn)的資源范圍內(nèi)的資源。
優(yōu)選的,步驟s6中應(yīng)用服務(wù)器使用公鑰對(duì)簽名結(jié)果驗(yàn)簽,若驗(yàn)簽通過(guò)之后,將所述身份認(rèn)證憑據(jù)與用戶進(jìn)行綁定之前還包括:應(yīng)用服務(wù)器判斷身份認(rèn)證憑據(jù)中的應(yīng)用標(biāo)識(shí)是否合法,是則繼續(xù)執(zhí)行將身份認(rèn)證憑據(jù)與用戶進(jìn)行綁定,否則向認(rèn)證服務(wù)器返回身份認(rèn)證憑據(jù)無(wú)效信息,結(jié)束。
進(jìn)一步的,步驟s2中判定用戶信息合法后,生成授權(quán)碼之前還包括:認(rèn)證服務(wù)器根據(jù)請(qǐng)求訪問(wèn)的資源范圍跳轉(zhuǎn)到用戶授權(quán)頁(yè)面,判斷從用戶授權(quán)頁(yè)面中是否可以獲取到對(duì)請(qǐng)求訪問(wèn)的資源范圍的允許授權(quán)信息,是則生成授權(quán)碼,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng)。
優(yōu)選的,步驟s5具體包括:認(rèn)證服務(wù)器獲取當(dāng)前服務(wù)器時(shí)間作為身份認(rèn)證憑據(jù)發(fā)送時(shí)間,根據(jù)應(yīng)用標(biāo)識(shí)、認(rèn)證服務(wù)器標(biāo)識(shí)、用戶信息和身份認(rèn)證憑據(jù)發(fā)送時(shí)間組織身份認(rèn)證憑據(jù),并使用私鑰對(duì)身份認(rèn)證憑據(jù)進(jìn)行簽名,將身份認(rèn)證憑據(jù)、簽名結(jié)果和訪問(wèn)憑據(jù)發(fā)送給應(yīng)用服務(wù)器。
步驟s6中應(yīng)用服務(wù)器使用公鑰對(duì)簽名結(jié)果驗(yàn)簽,若驗(yàn)簽通過(guò)得到身份認(rèn)證憑據(jù)之后,將身份認(rèn)證憑據(jù)與用戶進(jìn)行綁定之前還包括:應(yīng)用服務(wù)器判斷身份認(rèn)證憑據(jù)中的身份認(rèn)證憑據(jù)發(fā)送時(shí)間是否早于第一預(yù)設(shè)時(shí)間,是則向所述認(rèn)證服務(wù)器發(fā)送所述身份認(rèn)證憑據(jù)無(wú)效信息,結(jié)束;否則繼續(xù)執(zhí)行所述將所述身份認(rèn)證憑據(jù)與用戶進(jìn)行綁定。
優(yōu)選的,步驟s2判定用戶合法時(shí)候還包括:獲取服務(wù)器當(dāng)前時(shí)間作為鑒別終端用戶時(shí)間;
步驟s5具體包括:認(rèn)證服務(wù)器根據(jù)應(yīng)用標(biāo)識(shí)、認(rèn)證服務(wù)器標(biāo)識(shí)、用戶信息和鑒別終端用戶時(shí)間組織身份認(rèn)證憑據(jù),并使用私鑰對(duì)身份認(rèn)證憑據(jù)進(jìn)行簽名,將簽名結(jié)果和身份認(rèn)證憑據(jù)發(fā)送給應(yīng)用服務(wù)器;
步驟s6中應(yīng)用服務(wù)器使用公鑰對(duì)簽名結(jié)果驗(yàn)簽,若驗(yàn)簽通過(guò)得到身份認(rèn)證憑據(jù)之后,將身份認(rèn)證憑據(jù)與用戶進(jìn)行綁定之前還包括:應(yīng)用服務(wù)器判斷身份認(rèn)證憑據(jù)中的鑒別終端用戶時(shí)間是否早于第二預(yù)設(shè)時(shí)間,是則向認(rèn)證服務(wù)器發(fā)送身份認(rèn)證憑據(jù)無(wú)效信息;否則繼續(xù)執(zhí)行將身份認(rèn)證憑據(jù)與用戶進(jìn)行綁定。
優(yōu)選的,步驟s5中具體包括:認(rèn)證服務(wù)器根據(jù)應(yīng)用標(biāo)識(shí)、認(rèn)證服務(wù)器標(biāo)識(shí)、用戶信息和身份認(rèn)證憑據(jù)有效期組織身份認(rèn)證憑據(jù),并使用私鑰對(duì)身份認(rèn)證憑據(jù)進(jìn)行簽名,將簽名結(jié)果和身份認(rèn)證憑據(jù)發(fā)送給應(yīng)用服務(wù)器;
步驟s6中應(yīng)用服務(wù)器使用公鑰對(duì)簽名結(jié)果驗(yàn)簽,若驗(yàn)簽通過(guò)之后,將身份認(rèn)證憑據(jù)與用戶進(jìn)行綁定之前還包括:應(yīng)用服務(wù)器判斷當(dāng)前服務(wù)器時(shí)間是否早于身份認(rèn)證憑據(jù)的有效期,是則繼續(xù)執(zhí)行將所述身份認(rèn)證憑據(jù)與用戶進(jìn)行綁定,否則向認(rèn)證服務(wù)返回身份認(rèn)證憑據(jù)無(wú)效信息。
本實(shí)施例又提供一種頒發(fā)身份認(rèn)證憑據(jù)的方法,參見(jiàn)圖1,包括:
步驟r1、認(rèn)證服務(wù)器接收應(yīng)用服務(wù)器發(fā)送的鑒權(quán)請(qǐng)求,當(dāng)用戶從用戶認(rèn)證頁(yè)面輸入用戶信息時(shí),從用戶認(rèn)證頁(yè)面獲取用戶信息,并判斷用戶信息是否合法,是則生成授權(quán)碼,并將授權(quán)碼返回給應(yīng)用服務(wù)器,執(zhí)行步驟r2,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束;
具體的,鑒權(quán)請(qǐng)求中包括:重定向url;
將授權(quán)碼返回給應(yīng)用服務(wù)器具體為:將授權(quán)碼根據(jù)重定向url返回給應(yīng)用服務(wù)器。
優(yōu)選的,步驟r1中判定所述用戶信息合法后,生成授權(quán)碼之前還包括:認(rèn)證服務(wù)器根據(jù)請(qǐng)求訪問(wèn)的資源范圍跳轉(zhuǎn)到用戶授權(quán)頁(yè)面,判斷從用戶授權(quán)頁(yè)面中是否可以獲取到對(duì)請(qǐng)求訪問(wèn)的資源范圍的允許授權(quán)信息,是則生成授權(quán)碼,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。
優(yōu)選的,步驟r1中認(rèn)證服務(wù)器接收到鑒權(quán)請(qǐng)求之后,從用戶認(rèn)證頁(yè)面獲取用戶信息之前還包括:認(rèn)證服務(wù)器判斷鑒權(quán)請(qǐng)求中的所有必要參數(shù)是否都存在且有效,是則繼續(xù)執(zhí)行從用戶認(rèn)證頁(yè)面獲取用戶信息,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。
具體的,判斷所述鑒權(quán)請(qǐng)求中的所有必要參數(shù)是否都存在且有效具體包括:
步驟c1、認(rèn)證服務(wù)器判斷鑒權(quán)請(qǐng)求中是否包含應(yīng)用標(biāo)識(shí)和重定向url,是則執(zhí)行步驟c2,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束;
步驟c2、認(rèn)證服務(wù)器從鑒權(quán)請(qǐng)求中獲取應(yīng)用標(biāo)識(shí),根據(jù)應(yīng)用標(biāo)識(shí)判斷應(yīng)用服務(wù)器是否已經(jīng)注冊(cè)過(guò),是則執(zhí)行步驟c3,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束;
步驟c3、認(rèn)證服務(wù)器根據(jù)應(yīng)用標(biāo)識(shí)獲取應(yīng)用服務(wù)器預(yù)先注冊(cè)的重定向url,并判斷鑒權(quán)請(qǐng)求中的重定向url與預(yù)存的重定向url是否匹配,是則執(zhí)行步驟c2,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。
步驟r2、當(dāng)認(rèn)證服務(wù)器接收到應(yīng)用服務(wù)器發(fā)送的獲取身份認(rèn)證憑據(jù)請(qǐng)求時(shí),根據(jù)獲取身份認(rèn)證憑據(jù)請(qǐng)求中的應(yīng)用標(biāo)識(shí)和應(yīng)用密碼判斷應(yīng)用服務(wù)器是否合法,并判斷獲取身份認(rèn)證憑據(jù)請(qǐng)求中的授權(quán)碼是否有效,當(dāng)判斷均為是時(shí)執(zhí)行步驟r3,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束;
具體的,步驟r2具體包括:認(rèn)證服務(wù)器從獲取身份認(rèn)證憑據(jù)請(qǐng)求中獲取應(yīng)用密文信息,對(duì)應(yīng)用密文信息進(jìn)行解密得到應(yīng)用標(biāo)識(shí)和應(yīng)用密碼,根據(jù)應(yīng)用標(biāo)識(shí)和應(yīng)用密碼判斷應(yīng)用服務(wù)器是否合法,并判斷獲取身份認(rèn)證憑據(jù)請(qǐng)求中的授權(quán)碼是否有效,當(dāng)判斷均為是時(shí)執(zhí)行步驟r3,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。
步驟r3、認(rèn)證服務(wù)器根據(jù)應(yīng)用標(biāo)識(shí),認(rèn)證服務(wù)器標(biāo)識(shí)和用戶信息組織身份認(rèn)證憑據(jù),并使用私鑰對(duì)身份認(rèn)證憑據(jù)進(jìn)行簽名,將簽名結(jié)果發(fā)送給應(yīng)用服務(wù)器。
若鑒權(quán)請(qǐng)求中還包括:請(qǐng)求訪問(wèn)的資源范圍;
步驟r3具體包括:認(rèn)證服務(wù)器生成訪問(wèn)憑據(jù),將訪問(wèn)憑據(jù)和請(qǐng)求訪問(wèn)的資源范圍對(duì)應(yīng)存儲(chǔ);并根據(jù)應(yīng)用標(biāo)識(shí)、認(rèn)證服務(wù)器標(biāo)識(shí)和用戶信息組織身份認(rèn)證憑據(jù),并使用私鑰對(duì)身份認(rèn)證憑據(jù)和訪問(wèn)憑據(jù)進(jìn)行簽名,并將簽名結(jié)果和訪問(wèn)憑據(jù)發(fā)送給應(yīng)用服務(wù)器。
可選的,步驟r3具體包括:認(rèn)證服務(wù)器獲取當(dāng)前服務(wù)器時(shí)間作為身份認(rèn)證憑據(jù)發(fā)送時(shí)間,根據(jù)應(yīng)用標(biāo)識(shí)、認(rèn)證服務(wù)器標(biāo)識(shí)、用戶信息和身份認(rèn)證憑據(jù)發(fā)送時(shí)間組織身份認(rèn)證憑據(jù),并使用私鑰對(duì)身份認(rèn)證憑據(jù)進(jìn)行簽名,將簽名結(jié)果發(fā)送給所述應(yīng)用服務(wù)器。
可選的,步驟r1中判定用戶合法時(shí)還包括:獲取服務(wù)器當(dāng)前時(shí)間作為鑒別終端用戶時(shí)間;
步驟r3具體包括:認(rèn)證服務(wù)器根據(jù)所述應(yīng)用標(biāo)識(shí)、認(rèn)證服務(wù)器標(biāo)識(shí)、用戶信息和鑒別終端用戶時(shí)間組織身份認(rèn)證憑據(jù),并使用私鑰對(duì)身份認(rèn)證憑據(jù)進(jìn)行簽名,將簽名結(jié)果發(fā)送給應(yīng)用服務(wù)器。
可選的,步驟r3中具體包括:認(rèn)證服務(wù)器根據(jù)應(yīng)用標(biāo)識(shí)、認(rèn)證服務(wù)器標(biāo)識(shí)、用戶信息和身份認(rèn)證憑據(jù)有效期組織身份認(rèn)證憑據(jù),并使用私鑰對(duì)身份認(rèn)證憑據(jù)進(jìn)行簽名,將簽名結(jié)果發(fā)送給應(yīng)用服務(wù)器。
實(shí)施例2
本實(shí)施例提供一種頒發(fā)身份認(rèn)證憑據(jù)的方法,如圖2和圖3所示,包括:
終端用戶需預(yù)先向認(rèn)證服務(wù)器注冊(cè)用戶信息,所述用戶信息具體包括用戶名和密碼;認(rèn)證服務(wù)器需要為終端用戶分配唯一的終端用戶標(biāo)識(shí)。
應(yīng)用服務(wù)器需預(yù)先向認(rèn)證服務(wù)器注冊(cè)應(yīng)用服務(wù)器的重定向url以及認(rèn)證服務(wù)器所要求的其他信息,認(rèn)證服務(wù)器所要求的其他信息包括應(yīng)用名稱、應(yīng)用密碼;認(rèn)證服務(wù)器為應(yīng)用服務(wù)器分配唯一的應(yīng)用標(biāo)識(shí);并且應(yīng)用服務(wù)器應(yīng)預(yù)先與認(rèn)證服務(wù)器協(xié)商身份認(rèn)證憑據(jù)的公私鑰對(duì)等信息。
步驟101、應(yīng)用服務(wù)器當(dāng)接收到用戶觸發(fā)的訪問(wèn)請(qǐng)求后,跳轉(zhuǎn)到用戶認(rèn)證頁(yè)面,并組織包括請(qǐng)求訪問(wèn)的資源范圍、響應(yīng)類型、應(yīng)用標(biāo)識(shí)、重定向url的鑒權(quán)請(qǐng)求。
請(qǐng)求訪問(wèn)的資源范圍需包含預(yù)設(shè)參數(shù),用于標(biāo)識(shí)本請(qǐng)求是一個(gè)身份認(rèn)證請(qǐng)求;響應(yīng)類型用于確定當(dāng)前使用的用戶認(rèn)證方式,例如當(dāng)使用授權(quán)碼鑒別流程時(shí),該響應(yīng)類型具體為code;優(yōu)選的,鑒權(quán)請(qǐng)求還包括:狀態(tài)標(biāo)識(shí),該值對(duì)認(rèn)證服務(wù)器和應(yīng)用服務(wù)器外的其他應(yīng)用均不可見(jiàn)。
本實(shí)施例中,鑒權(quán)請(qǐng)求具體為:
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表明該請(qǐng)求訪問(wèn)的資源范圍為鑒權(quán)請(qǐng)求,且請(qǐng)求訪問(wèn)的資源范圍是終端用戶標(biāo)識(shí)和郵箱地址;client_id=s6bhdrkqt3表明依賴方標(biāo)識(shí)為s6bhdrkqt3;state=af0ifjsldkj表明狀態(tài)標(biāo)識(shí)為af0ifjsldkj;redirect_uri=https://client.example.org/cb?表明重定向url為https%3a%2f%2fclient.example.org%2fcb。
步驟102、應(yīng)用服務(wù)器將鑒權(quán)請(qǐng)求發(fā)送給認(rèn)證服務(wù)器。
步驟103、認(rèn)證服務(wù)器判斷鑒權(quán)請(qǐng)求中所有必選參數(shù)是否都存在且有效,是則執(zhí)行步驟104;否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。
步驟103具體包括:
步驟103-1、認(rèn)認(rèn)證服務(wù)器判斷鑒權(quán)請(qǐng)求中是否包含應(yīng)用標(biāo)識(shí)和重定向url;是則執(zhí)行步驟103-2,否則向所述應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。
步驟103-2、認(rèn)證服務(wù)器從鑒權(quán)請(qǐng)求中獲取應(yīng)用標(biāo)識(shí),判斷應(yīng)用服務(wù)器是否已經(jīng)注冊(cè)過(guò),是則執(zhí)行步驟103-3,否則向所述應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。
步驟103-3、認(rèn)證服務(wù)器根據(jù)應(yīng)用標(biāo)識(shí)獲取應(yīng)用服務(wù)器預(yù)先注冊(cè)的重定向url,并判斷鑒權(quán)請(qǐng)求中的重定向url與預(yù)存的重定向url是否匹配,是則執(zhí)行步驟104,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。
步驟104、當(dāng)用戶從用戶認(rèn)證頁(yè)面中輸入用戶信息時(shí),認(rèn)證服務(wù)器從用戶認(rèn)證頁(yè)面中獲取用戶信息,并判斷用戶信息是否合法,是則獲取服務(wù)器當(dāng)前時(shí)間作為鑒權(quán)終端用戶時(shí)間,執(zhí)行步驟105,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。
步驟105、認(rèn)證服務(wù)器根據(jù)請(qǐng)求訪問(wèn)的資源范圍跳轉(zhuǎn)到用戶授權(quán)頁(yè)面,判斷從用戶授權(quán)頁(yè)面中是否可以獲取到對(duì)請(qǐng)求訪問(wèn)的資源范圍的允許授權(quán)信息;是則執(zhí)行步驟106,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束
步驟106、認(rèn)證服務(wù)器生成授權(quán)碼,將授權(quán)碼與應(yīng)用標(biāo)識(shí)和重定向url綁定,并根據(jù)重定向url和授權(quán)碼生成鑒權(quán)成功響應(yīng),并將鑒權(quán)成功響應(yīng)發(fā)送給應(yīng)用服務(wù)器。
具體的,認(rèn)證服務(wù)器生成隨機(jī)字符串作為授權(quán)碼,例如,本實(shí)施例中生成的授權(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表明認(rèn)證服務(wù)器生成的授權(quán)碼為splxlobezqqybys6wxsbia;
優(yōu)選的,鑒權(quán)響應(yīng)中還包括狀態(tài)標(biāo)識(shí)。
步驟107、應(yīng)用服務(wù)器將應(yīng)用標(biāo)識(shí)和應(yīng)用密碼進(jìn)行加密生成應(yīng)用密文信息;
步驟108、應(yīng)用服務(wù)器根據(jù)應(yīng)用密文信息、授權(quán)碼和重定向url生成身份認(rèn)證憑據(jù)請(qǐng)求,并將身份認(rèn)證憑據(jù)請(qǐng)求發(fā)送過(guò)給認(rèn)證服務(wù)器;
獲取身份認(rèn)證憑據(jù)請(qǐng)求具體包括
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、認(rèn)證服務(wù)器從獲取身份認(rèn)證憑據(jù)請(qǐng)求中獲取應(yīng)用密文信息,對(duì)應(yīng)用密文信息進(jìn)行解密生成應(yīng)用標(biāo)識(shí)和應(yīng)用密碼;
步驟110、認(rèn)證服務(wù)器根據(jù)應(yīng)用標(biāo)識(shí)和應(yīng)用密碼判斷所述應(yīng)用服務(wù)器是否合法,是則執(zhí)行步驟111,否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。
具體的,認(rèn)證服務(wù)器判斷是否可以查詢到與應(yīng)用密文信息解密得到的應(yīng)用標(biāo)識(shí)和應(yīng)用密碼一致的信息,是則判定應(yīng)用服務(wù)器合法;否則向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。
步驟111、認(rèn)證服務(wù)器判斷獲取身份認(rèn)證憑據(jù)請(qǐng)求中的重定向url與應(yīng)用服務(wù)器預(yù)先注冊(cè)的重定向url是否一致,是則執(zhí)行步驟112,否則向所述應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束
步驟112、認(rèn)證服務(wù)器從獲取身份認(rèn)證憑據(jù)請(qǐng)求中獲取授權(quán)碼,判斷授權(quán)碼是否有效,是則執(zhí)行步驟113,向應(yīng)用服務(wù)器返回鑒權(quán)失敗響應(yīng),結(jié)束。
具體的,認(rèn)證服務(wù)器判斷與應(yīng)用標(biāo)識(shí)符綁定的授權(quán)碼與從獲取認(rèn)證憑據(jù)請(qǐng)求中獲取到的授權(quán)碼是否一致,是則判定授權(quán)碼有效,否則判定授權(quán)碼無(wú)效。
步驟113、認(rèn)證服務(wù)器獲取當(dāng)前服務(wù)器時(shí)間作為身份認(rèn)證憑據(jù)的發(fā)放時(shí)間;
步驟114、認(rèn)證服務(wù)器根據(jù)應(yīng)用標(biāo)識(shí)、認(rèn)證服務(wù)器標(biāo)識(shí)和用戶信息、身份認(rèn)證憑據(jù)有效期、發(fā)放身份認(rèn)證憑據(jù)時(shí)間、鑒別終端用戶時(shí)間組織身份認(rèn)證憑據(jù);
需要說(shuō)明的是:身份認(rèn)證憑據(jù)有效期、發(fā)放身份認(rèn)證憑據(jù)時(shí)間、鑒別終端用戶的時(shí)間均為json數(shù)字代表自1970年1月1日0時(shí)0分0秒至發(fā)放時(shí)間的秒數(shù);本實(shí)施例中認(rèn)證服務(wù)器生成的身份認(rèn)證憑據(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"表明認(rèn)證服務(wù)器標(biāo)識(shí)為https://server.example.com;"sub":"24400320"表明用戶信息為24400320;"aud":"s6bhdrkqt3"表明應(yīng)用服務(wù)器標(biāo)識(shí)為s6bhdrkqt3;"exp":1311281970表明身份認(rèn)證憑據(jù)有效期;"iat":1311280970,表明發(fā)放身份認(rèn)證憑據(jù)時(shí)間"auth_time":1311280969表明鑒別終端用戶時(shí)間;
步驟115、認(rèn)證服務(wù)器使用私鑰對(duì)身份認(rèn)證憑據(jù)進(jìn)行簽名得到簽名結(jié)果;
具體的,簽名算法可以為rha256withrsa算法。除此之外,還可以是其他算法,例如sha1withrsa、sm2簽名算法等。
步驟116、認(rèn)證服務(wù)器生成訪問(wèn)憑據(jù);根據(jù)身份認(rèn)證憑據(jù)、簽名結(jié)果和訪問(wèn)憑據(jù)生成獲取身份認(rèn)證憑據(jù)響應(yīng);并向應(yīng)用服務(wù)器發(fā)送獲取身份認(rèn)證憑據(jù)響應(yīng)。
具體的,本實(shí)施例中,獲取身份認(rèn)證憑據(jù)響應(yīng)包括:訪問(wèn)憑據(jù)、訪問(wèn)類型、訪問(wèn)憑據(jù)有效期、更新憑據(jù)、簽名結(jié)果。
優(yōu)選的,獲取身份認(rèn)證憑據(jù)響應(yīng)的頭部應(yīng)表明,響應(yīng)中的所有內(nèi)容都不會(huì)被緩存且所有內(nèi)容都不會(huì)被緩存到臨時(shí)文件中。
本實(shí)施例中,獲取認(rèn)證憑據(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"}
其中,訪問(wèn)憑據(jù)access_token具體為slav32hkkg;訪問(wèn)類型token_type具體為bearer、訪問(wèn)憑據(jù)有效期expires_in為3600分鐘、更新憑據(jù)refresh_token具體為8xloxbtzp8、簽名結(jié)果為id_token的值。
步驟117、應(yīng)用服務(wù)器從獲取身份認(rèn)證憑據(jù)響應(yīng)中獲取簽名結(jié)果,使用應(yīng)用服務(wù)器注冊(cè)時(shí)指定的公鑰對(duì)簽名結(jié)果進(jìn)行驗(yàn)簽,若驗(yàn)簽通過(guò),執(zhí)行步驟118,否則進(jìn)行錯(cuò)誤處理;
步驟118、應(yīng)用服務(wù)器判斷身份認(rèn)證憑據(jù)中的應(yīng)用標(biāo)識(shí)是否為正確,是則執(zhí)行步驟119,否則向認(rèn)證服務(wù)器發(fā)送身份認(rèn)證憑據(jù)無(wú)效信息。
具體的,應(yīng)用服務(wù)器判斷身份認(rèn)證憑據(jù)中的應(yīng)用標(biāo)識(shí)與應(yīng)用服務(wù)器注冊(cè)時(shí)認(rèn)證服務(wù)器分配的應(yīng)用標(biāo)識(shí)是否一致,是則判定應(yīng)用標(biāo)識(shí)正確,否則判定應(yīng)用標(biāo)識(shí)不正確。
步驟119、應(yīng)用服務(wù)器從身份認(rèn)證憑據(jù)中獲取身份認(rèn)證憑據(jù)有效期,判斷當(dāng)前時(shí)間是否早于身份認(rèn)證憑據(jù)有效期,是則執(zhí)行步驟120;否則向認(rèn)證服務(wù)器發(fā)送身份認(rèn)證憑據(jù)無(wú)效信息。
步驟120、應(yīng)用服務(wù)器從身份認(rèn)證憑據(jù)中獲取發(fā)放身份認(rèn)證憑據(jù)時(shí)間,判斷發(fā)放身份認(rèn)證憑據(jù)時(shí)間是否早于第一預(yù)設(shè)時(shí)間,是則向認(rèn)證服務(wù)器發(fā)送身份認(rèn)證憑據(jù)無(wú)效信息;否則執(zhí)行步驟121。
步驟121、應(yīng)用服務(wù)器從身份認(rèn)證憑據(jù)中獲取鑒別終端用戶時(shí)間,判斷鑒別終端用戶時(shí)間是否早于第二預(yù)設(shè)時(shí)間,是則向認(rèn)證服務(wù)器發(fā)送身份認(rèn)證憑據(jù)無(wú)效信息;否則將身份認(rèn)證憑據(jù)與用戶綁定。
具體的,將身份認(rèn)證憑據(jù)與用戶進(jìn)行綁定具體為:應(yīng)用服務(wù)器從身份憑據(jù)中獲取用戶信息,并將用戶信息與身份認(rèn)證憑據(jù)對(duì)應(yīng)存儲(chǔ)。
將身份認(rèn)證憑據(jù)與用戶進(jìn)行綁定具體為:應(yīng)用服務(wù)器分配字符串作為用戶標(biāo)識(shí),將用戶標(biāo)識(shí)與身份認(rèn)證憑據(jù)進(jìn)行對(duì)應(yīng)存儲(chǔ)。
需要說(shuō)明的是步驟121之后,應(yīng)用服務(wù)器完成終端用戶完成身份認(rèn)證,并可以為終端用戶提供相應(yīng)的服務(wù),或者應(yīng)用服務(wù)器可以使用訪問(wèn)憑據(jù)從認(rèn)證服務(wù)器中獲取步驟105所述的認(rèn)證服務(wù)器中由終端用戶授權(quán)的資源。
進(jìn)一步的,所述步驟118、步驟119、步驟120和步驟121應(yīng)用服務(wù)器向認(rèn)證服務(wù)器發(fā)送終端用戶身份認(rèn)證失敗后還可以執(zhí)行應(yīng)用服務(wù)器向認(rèn)證服務(wù)器發(fā)送重新認(rèn)證終端用戶請(qǐng)求。
實(shí)施例3
本實(shí)施例提供一種頒發(fā)身份認(rèn)證憑據(jù)的系統(tǒng),參見(jiàn)圖4,包括應(yīng)用服務(wù)器和認(rèn)證服務(wù)器;
應(yīng)用服務(wù)器具體包括:
第一發(fā)送模塊,用于接收到用戶觸發(fā)的訪問(wèn)請(qǐng)求,跳轉(zhuǎn)到用戶認(rèn)證頁(yè)面,并向認(rèn)證服務(wù)器發(fā)送鑒權(quán)請(qǐng)求;還用于將第一組織模塊組織的所獲取身份認(rèn)證憑據(jù)請(qǐng)求發(fā)送給認(rèn)證服務(wù)器;
第二接收模塊,用于接收認(rèn)證服務(wù)器發(fā)送的授權(quán)碼;還用于接收認(rèn)證服務(wù)器發(fā)送的簽名結(jié)果和身份認(rèn)證憑據(jù);
第一組織模塊,用于根據(jù)第二接收模塊接收到的授權(quán)碼以及在認(rèn)證服務(wù)器預(yù)先注冊(cè)的應(yīng)用標(biāo)識(shí)和應(yīng)用密碼組織獲取身份認(rèn)證憑據(jù)請(qǐng)求;
綁定模塊,用于使用公鑰對(duì)所述第二接收模塊接收到的所述簽名結(jié)果驗(yàn)簽,若驗(yàn)簽通過(guò),將所述第二接收模塊接收到的所述身份認(rèn)證憑據(jù)與用戶進(jìn)行綁定;
具體的,綁定模塊具體用于,用于使用公鑰對(duì)所述第二接收模塊接收到的所述簽名結(jié)果驗(yàn)簽,若驗(yàn)簽通過(guò),從身份認(rèn)證憑據(jù)中獲取用戶信息,并將用戶信息與身份認(rèn)證憑據(jù)對(duì)應(yīng)存儲(chǔ)。
具體的,綁定模塊具體用于,用于使用公鑰對(duì)所述第二接收模塊接收到的所述簽名結(jié)果驗(yàn)簽,若驗(yàn)簽通過(guò),分配字符串作為用戶標(biāo)識(shí),將用戶標(biāo)識(shí)與身份認(rèn)證憑據(jù)進(jìn)行對(duì)應(yīng)存儲(chǔ)。
優(yōu)選的,綁定模塊具體包括:
驗(yàn)簽子模塊,用于使用公鑰對(duì)所述第二接收模塊接收到的所述簽名結(jié)果驗(yàn)簽;
第六判斷子模塊,用于若所述驗(yàn)簽子模塊驗(yàn)簽通過(guò)時(shí),判斷所述第二接收模塊接收到的身份認(rèn)證憑據(jù)中的應(yīng)用標(biāo)識(shí)是否合法;
綁定子模塊,用于當(dāng)所述第六判斷子模塊判定所述應(yīng)用標(biāo)識(shí)合法時(shí),將所述身份認(rèn)證憑據(jù)與用戶進(jìn)行綁定;
所述第一發(fā)送模塊,還用于當(dāng)所述第六判斷子模塊判定所述應(yīng)用標(biāo)識(shí)不合法時(shí)向所述認(rèn)證服務(wù)器發(fā)送身份認(rèn)證憑據(jù)無(wú)效信息。
認(rèn)證服務(wù)器具體包括:
第一接收模塊,用于接收應(yīng)用服務(wù)器發(fā)送的鑒權(quán)請(qǐng)求;還用于接收應(yīng)用服務(wù)器發(fā)送的獲取身份認(rèn)證憑據(jù)請(qǐng)求;
獲取用戶信息模塊,當(dāng)用戶從用戶認(rèn)證頁(yè)面輸入用戶信息之后,用于從用戶認(rèn)證頁(yè)面獲取用戶信息;
第一判斷模塊,用于第一接收模塊接收到鑒權(quán)請(qǐng)求之后,判斷獲取用戶信息模塊獲取到的用戶信息是否合法;
授權(quán)碼生成模塊,用于當(dāng)?shù)谝慌袛嗄K判定用戶信息合法后生成授權(quán)碼;
第二發(fā)送模塊,用于將授權(quán)碼生成模塊生成的授權(quán)碼發(fā)送給應(yīng)用服務(wù)器;還用于將簽名模塊簽名得到的簽名結(jié)果和第二組織模塊組織的身份認(rèn)證憑據(jù)發(fā)送給應(yīng)用服務(wù)器;
具體的,第一接收模塊接收到的所述鑒權(quán)請(qǐng)求中還包括重定向url;
第二發(fā)送模塊,具體用于將授權(quán)碼生成模塊生成的授權(quán)碼根據(jù)重定向url發(fā)送給應(yīng)用服務(wù)器。
第二判斷模塊,用于根據(jù)第一接收模塊接收到的獲取身份認(rèn)證憑據(jù)請(qǐng)求中的應(yīng)用標(biāo)識(shí)和應(yīng)用密碼判斷應(yīng)用服務(wù)器是否合法,并判斷所述第一接收模塊接收到的獲取身份認(rèn)證憑據(jù)請(qǐng)求中的授權(quán)碼是否有效;
第二組織模塊,用于當(dāng)?shù)诙袛嗄K判定應(yīng)用服務(wù)器合法且授權(quán)碼有效時(shí)根據(jù)第一接收模塊接收到的獲取身份認(rèn)證憑據(jù)請(qǐng)求中的應(yīng)用標(biāo)識(shí)、認(rèn)證服務(wù)器標(biāo)識(shí)和獲取用戶信息模塊獲取到的用戶信息組織身份認(rèn)證憑據(jù);
簽名模塊,用于使用私鑰對(duì)第二組織模塊組織得到的身份認(rèn)證憑據(jù)進(jìn)行簽名得到簽名結(jié)果。
優(yōu)選的,認(rèn)證服務(wù)器還包括:第三判斷模塊,用于判斷所述第一接收模塊接收到的鑒權(quán)請(qǐng)求中的所有必要參數(shù)是否都存在且有效;
第一判斷模塊,用于當(dāng)?shù)谌袛嗄K判定鑒權(quán)請(qǐng)求中的所有必要參數(shù)存在且有效時(shí),判斷獲取用戶信息模塊獲取到的用戶信息是否合法。
第二發(fā)送模塊,還用于第三判斷模塊判定鑒權(quán)請(qǐng)求中所有必要參數(shù)不都存在或者不都有效時(shí)向應(yīng)用服務(wù)器發(fā)送鑒權(quán)失敗響應(yīng)。
更為詳細(xì)的是,第三判斷模塊具體包括:
第一判斷子模塊,用于判斷第一接收模塊接收到的鑒權(quán)請(qǐng)求中是否包含應(yīng)用標(biāo)識(shí)和重定向url;
第二判斷子模塊,用于第一判斷子模塊判定鑒權(quán)請(qǐng)求中包含應(yīng)用標(biāo)識(shí)和重定向url時(shí)從鑒權(quán)請(qǐng)求中獲取應(yīng)用標(biāo)識(shí),根據(jù)應(yīng)用標(biāo)識(shí)判斷應(yīng)用服務(wù)器是否已經(jīng)注冊(cè)過(guò);
第三判斷子模塊,用于當(dāng)?shù)诙袛嘧幽K判定應(yīng)用服務(wù)器已經(jīng)注冊(cè)過(guò)時(shí)根據(jù)應(yīng)用標(biāo)識(shí)獲取預(yù)存的重定向url,根據(jù)應(yīng)用標(biāo)識(shí)獲取應(yīng)用服務(wù)器預(yù)先注冊(cè)的重定向url,并判斷鑒權(quán)請(qǐng)求中的重定向url與預(yù)存的重定向url是否匹配;
第一判斷模塊,具體用于第三判斷子模塊判定所述鑒權(quán)請(qǐng)求中的重定向url與所述預(yù)存的重定向url匹配時(shí),判斷獲取用戶信息模塊獲取到的用戶信息是否合法;
第二發(fā)送模塊,還用于第三判斷子模塊模塊判定鑒權(quán)請(qǐng)求中的重定向url與預(yù)存的重定向url不匹配時(shí)向應(yīng)用服務(wù)器發(fā)送鑒權(quán)失敗響應(yīng)。
優(yōu)選的,第一接收模塊接收到的鑒權(quán)請(qǐng)求中還包括:請(qǐng)求訪問(wèn)的資源范圍;
第二組織模塊,具體用于當(dāng)?shù)诙袛嗄K判定應(yīng)用服務(wù)器合法且授權(quán)碼有效時(shí)生成訪問(wèn)憑據(jù),將訪問(wèn)憑據(jù)和請(qǐng)求訪問(wèn)的資源范圍對(duì)應(yīng)存儲(chǔ);并根據(jù)第一接收模塊接收到的獲取身份認(rèn)證憑據(jù)請(qǐng)求中的應(yīng)用標(biāo)識(shí)、認(rèn)證服務(wù)器標(biāo)識(shí)和獲取用戶信息模塊獲取到的用戶信息組織身份認(rèn)證憑據(jù);
第二發(fā)送模塊,還用于將所述訪問(wèn)憑據(jù)發(fā)送給應(yīng)用服務(wù)器。
應(yīng)用服務(wù)器還包括:訪問(wèn)資源模塊,用于使用訪問(wèn)憑據(jù)從認(rèn)證服務(wù)器中獲取請(qǐng)求訪問(wèn)的資源范圍內(nèi)的資源。
優(yōu)選的,所述認(rèn)證服務(wù)器還包括:
第四判斷模塊,用于根據(jù)第一接收模塊接收到的鑒權(quán)請(qǐng)求中的請(qǐng)求訪問(wèn)的資源范圍跳轉(zhuǎn)到用戶授權(quán)頁(yè)面,判斷從用戶授權(quán)頁(yè)面中是否可以獲取到對(duì)請(qǐng)求訪問(wèn)的資源范圍的允許授權(quán)信息;
授權(quán)碼生成模塊,用于當(dāng)?shù)谒呐袛嗄K判定接收到對(duì)請(qǐng)求訪問(wèn)的資源范圍的允許授權(quán)信息時(shí)生成授權(quán)碼;
第二發(fā)送模塊,還用于第四判斷模塊判定沒(méi)有接收到對(duì)請(qǐng)求訪問(wèn)的資源范圍的允許授權(quán)信息時(shí)向應(yīng)用服務(wù)器發(fā)送鑒權(quán)失敗響應(yīng)。
優(yōu)選的,第一組織模塊具體包括:
加密子模塊,用于將預(yù)先在認(rèn)證服務(wù)器注冊(cè)的應(yīng)用標(biāo)識(shí)和應(yīng)用密碼進(jìn)行加密生成應(yīng)用密文信息;
第一組織子模塊,用于根據(jù)加密子模塊生成的應(yīng)用密文信息、第一接收模塊接收到的授權(quán)碼和重定向url生成獲取身份認(rèn)證憑據(jù)請(qǐng)求;
第一發(fā)送模塊,用于將第一組織子模塊生成的獲取身份認(rèn)證憑據(jù)請(qǐng)求發(fā)送給認(rèn)證服務(wù)器;
第二判斷模塊具體包括:
解密子模塊,用于從第二接收模塊中的獲取身份認(rèn)證憑據(jù)請(qǐng)求中獲取應(yīng)用密文信息,對(duì)應(yīng)用密文信息進(jìn)行解密生成應(yīng)用標(biāo)識(shí)和應(yīng)用密碼;
第四判斷子模塊,用于根據(jù)解密子模塊解密得到的應(yīng)用標(biāo)識(shí)和應(yīng)用密碼判斷所述應(yīng)用服務(wù)器是否合法;
第五判斷子模塊,用于從第一接收模塊接收到的的獲取身份認(rèn)證憑據(jù)請(qǐng)求中獲取授權(quán)碼,判斷授權(quán)碼是否有效;
第二組織模塊,用于當(dāng)?shù)谖迮袛嘧幽K判定授權(quán)碼有效且所述第四判斷子模塊判定應(yīng)用服務(wù)器合法時(shí)根據(jù)應(yīng)用標(biāo)識(shí)、認(rèn)證服務(wù)器標(biāo)識(shí)和用戶信息組織身份認(rèn)證憑據(jù),并使用私鑰對(duì)身份認(rèn)證憑據(jù)進(jìn)行簽名得到簽名結(jié)果。
可選的,第二組織模塊,具體用于獲取當(dāng)前服務(wù)器時(shí)間作為身份認(rèn)證憑據(jù)發(fā)送時(shí)間,根據(jù)應(yīng)用標(biāo)識(shí)、認(rèn)證服務(wù)器標(biāo)識(shí)、用戶信息和身份認(rèn)證憑據(jù)發(fā)送時(shí)間組織身份認(rèn)證憑據(jù);
相應(yīng)的,所述綁定模塊包括:
驗(yàn)簽子模塊,用于使用公鑰對(duì)第二接收模塊接收到的簽名結(jié)果驗(yàn)簽;
第七判斷子模塊,用于若驗(yàn)簽子模塊驗(yàn)簽通過(guò)時(shí)判斷第二接收模塊接收到的身份認(rèn)證憑據(jù)中的身份認(rèn)證憑據(jù)發(fā)送時(shí)間是否早于第一預(yù)設(shè)時(shí)間;
綁定子模塊,用于當(dāng)?shù)谄吲袛嘧幽K身份認(rèn)證憑據(jù)發(fā)送時(shí)間不早于第一預(yù)設(shè)時(shí)間時(shí),將身份認(rèn)證憑據(jù)與用戶進(jìn)行綁定;
第一發(fā)送模塊,還用于第七判斷子模塊所述身份認(rèn)證憑據(jù)發(fā)送時(shí)間早于第一預(yù)設(shè)時(shí)間時(shí)向所述認(rèn)證服務(wù)器發(fā)送身份認(rèn)證憑據(jù)無(wú)效信息。
可選的,第一判斷模塊,還用于獲取服務(wù)器當(dāng)前時(shí)間作為鑒別終端用戶時(shí)間;
第二組織模塊,具體用于根據(jù)應(yīng)用標(biāo)識(shí)、認(rèn)證服務(wù)器標(biāo)識(shí)、用戶信息和第一判斷模塊得到的所述鑒別終端用戶時(shí)間組織身份認(rèn)證憑據(jù)
相應(yīng)的,所述綁定模塊包括:
驗(yàn)簽子模塊,用于使用公鑰對(duì)第二接收模塊接收到的簽名結(jié)果驗(yàn)簽;
第八判斷子模塊,用于若驗(yàn)簽子模塊驗(yàn)簽通過(guò)時(shí)判斷第二接收模塊接收到的身份認(rèn)證憑據(jù)中的鑒別終端用戶時(shí)間是否早于第二預(yù)設(shè)時(shí)間;
綁定子模塊,用于當(dāng)?shù)诎伺袛嘧幽K判定所述鑒別終端用戶時(shí)間不早于第二預(yù)設(shè)時(shí)間時(shí)將身份認(rèn)證憑據(jù)與用戶進(jìn)行綁定;
第一發(fā)送模塊,還用于當(dāng)?shù)诎伺袛嘧幽K判定鑒別終端用戶時(shí)間早于第二預(yù)設(shè)時(shí)間時(shí)向認(rèn)證服務(wù)器發(fā)送身份認(rèn)證憑據(jù)無(wú)效信息。
可選的,第二組織模塊,具體用于根據(jù)應(yīng)用標(biāo)識(shí)、認(rèn)證服務(wù)器標(biāo)識(shí)、用戶信息和身份認(rèn)證憑據(jù)有效期組織身份認(rèn)證憑據(jù);
相應(yīng)的,綁定模塊包括:
驗(yàn)簽子模塊,用于使用公鑰對(duì)第二接收模塊接收到的簽名結(jié)果驗(yàn)簽;
第九判斷子模塊,用于判斷當(dāng)前服務(wù)器時(shí)間是否早于身份認(rèn)證憑據(jù)的有效期;
綁定子模塊,用于當(dāng)?shù)诰排袛嘧幽K判定當(dāng)前服務(wù)器時(shí)間早于身份認(rèn)證憑據(jù)的有效期時(shí)將身份認(rèn)證憑據(jù)與用戶進(jìn)行綁定;
第一發(fā)送模塊,還用于當(dāng)?shù)诰排袛嘧幽K判定當(dāng)前服務(wù)器時(shí)間不早于身份認(rèn)證憑據(jù)的有效期時(shí)向認(rèn)證服務(wù)器發(fā)送身份認(rèn)證憑據(jù)無(wú)效信息。
實(shí)施例4
本實(shí)施例提供一種頒發(fā)身份認(rèn)證憑據(jù)的認(rèn)證服務(wù)器,參見(jiàn)圖5,包括:
第一接收模塊,用于接收應(yīng)用服務(wù)器發(fā)送的鑒權(quán)請(qǐng)求;還用于接收應(yīng)用服務(wù)器發(fā)送的獲取身份認(rèn)證憑據(jù)請(qǐng)求;
獲取用戶信息模塊,當(dāng)用戶從用戶認(rèn)證頁(yè)面輸入用戶信息時(shí),用于從用戶認(rèn)證頁(yè)面獲取用戶信息;
第一判斷模塊,用于第一接收模塊接收到鑒權(quán)請(qǐng)求之后,判斷獲取用戶信息模塊獲取到的用戶信息是否合法;
授權(quán)碼生成模塊,用于當(dāng)?shù)谝慌袛嗄K判定用戶信息合法后生成授權(quán)碼;
第二發(fā)送模塊,用于將授權(quán)碼生成模塊生成的授權(quán)碼發(fā)送給應(yīng)用服務(wù)器;還用于將簽名模塊簽名得到的簽名結(jié)果和第二組織模塊組織的身份認(rèn)證憑據(jù)發(fā)送給應(yīng)用服務(wù)器;
具體的,第一接收模塊接收到的所述鑒權(quán)請(qǐng)求中還包括重定向url;
第二發(fā)送模塊,具體用于將授權(quán)碼生成模塊生成的授權(quán)碼根據(jù)重定向url發(fā)送給應(yīng)用服務(wù)器。
第二判斷模塊,用于根據(jù)第一接收模塊接收到的獲取身份認(rèn)證憑據(jù)請(qǐng)求中的應(yīng)用標(biāo)識(shí)和應(yīng)用密碼判斷應(yīng)用服務(wù)器是否合法,并判斷所述第一接收模塊接收到的獲取身份認(rèn)證憑據(jù)請(qǐng)求中的授權(quán)碼是否有效;
第二組織模塊,用于當(dāng)?shù)诙袛嗄K判定應(yīng)用服務(wù)器合法且授權(quán)碼有效時(shí)根據(jù)第一接收模塊接收到的獲取身份認(rèn)證憑據(jù)請(qǐng)求中的應(yīng)用標(biāo)識(shí)、認(rèn)證服務(wù)器標(biāo)識(shí)和獲取用戶信息模塊中獲取到的用戶信息組織身份認(rèn)證憑據(jù);
簽名模塊,用于使用私鑰對(duì)第二組織模塊組織得到的身份認(rèn)證憑據(jù)進(jìn)行簽名得到簽名結(jié)果。
優(yōu)選的,認(rèn)證服務(wù)器還包括:第三判斷模塊,用于判斷所述第一接收模塊接收到的鑒權(quán)請(qǐng)求中的所有必要參數(shù)是否都存在且有效;
第一判斷模塊,用于當(dāng)?shù)谌袛嗄K判定鑒權(quán)請(qǐng)求中的所有必要參數(shù)存在且有效時(shí),第一接收模塊接收到鑒權(quán)請(qǐng)求之后,判斷獲取用戶信息模塊獲取到的用戶信息是否合法。
第二發(fā)送模塊,還用于第三判斷模塊判定鑒權(quán)請(qǐng)求中所有必要參數(shù)不都存在或者不都有效時(shí)向應(yīng)用服務(wù)器發(fā)送鑒權(quán)失敗響應(yīng)。
更為詳細(xì)的是,第三判斷模塊具體包括:
第一判斷子模塊,用于判斷第一接收模塊接收到的鑒權(quán)請(qǐng)求中是否包含應(yīng)用標(biāo)識(shí)和重定向url;
第二判斷子模塊,用于第一判斷子模塊判定鑒權(quán)請(qǐng)求中包含應(yīng)用標(biāo)識(shí)和重定向url時(shí)從鑒權(quán)請(qǐng)求中獲取應(yīng)用標(biāo)識(shí),根據(jù)應(yīng)用標(biāo)識(shí)判斷應(yīng)用服務(wù)器是否已經(jīng)注冊(cè)過(guò);
第三判斷子模塊,用于當(dāng)?shù)诙袛嘧幽K判定應(yīng)用服務(wù)器已經(jīng)注冊(cè)過(guò)時(shí)根據(jù)應(yīng)用標(biāo)識(shí)獲取預(yù)存的重定向url,根據(jù)應(yīng)用標(biāo)識(shí)獲取應(yīng)用服務(wù)器預(yù)先注冊(cè)的重定向url,并判斷鑒權(quán)請(qǐng)求中的重定向url與預(yù)存的重定向url是否匹配;
第一判斷模塊,具體用于第三判斷子模塊判定所述鑒權(quán)請(qǐng)求中的重定向url與所述預(yù)存的重定向url匹配時(shí),判斷獲取用戶信息模塊獲取到的用戶信息是否合法;
第二發(fā)送模塊,還用于第三判斷子模塊模塊判定鑒權(quán)請(qǐng)求中的重定向url與預(yù)存的重定向url不匹配時(shí)向應(yīng)用服務(wù)器發(fā)送鑒權(quán)失敗響應(yīng)。
優(yōu)選的,第一接收模塊接收到的鑒權(quán)請(qǐng)求中還包括:請(qǐng)求訪問(wèn)的資源范圍;
第二組織模塊,具體用于當(dāng)?shù)诙袛嗄K判定應(yīng)用服務(wù)器合法且授權(quán)碼有效時(shí)生成訪問(wèn)憑據(jù),將訪問(wèn)憑據(jù)和請(qǐng)求訪問(wèn)的資源范圍對(duì)應(yīng)存儲(chǔ);并根據(jù)第一接收模塊接收到的獲取身份認(rèn)證憑據(jù)請(qǐng)求中的應(yīng)用標(biāo)識(shí)、認(rèn)證服務(wù)器標(biāo)識(shí)和第一判斷模塊中獲取到的用戶信息組織身份認(rèn)證憑據(jù);
第二發(fā)送模塊,還用于將所述訪問(wèn)憑據(jù)發(fā)送給應(yīng)用服務(wù)器。
優(yōu)選的,所述認(rèn)證服務(wù)器還包括:
第四判斷模塊,用于根據(jù)第一接收模塊接收到的鑒權(quán)請(qǐng)求中的請(qǐng)求訪問(wèn)的資源范圍跳轉(zhuǎn)到用戶授權(quán)頁(yè)面,判斷從用戶授權(quán)頁(yè)面中是否可以獲取到對(duì)請(qǐng)求訪問(wèn)的資源范圍的允許授權(quán)信息;
授權(quán)碼生成模塊,用于當(dāng)?shù)谒呐袛嗄K判定接收到對(duì)請(qǐng)求訪問(wèn)的資源范圍的允許授權(quán)信息時(shí)生成授權(quán)碼;
第二發(fā)送模塊,還用于第四判斷模塊判定沒(méi)有接收到對(duì)請(qǐng)求訪問(wèn)的資源范圍的允許授權(quán)信息時(shí)向應(yīng)用服務(wù)器發(fā)送鑒權(quán)失敗響應(yīng)。
優(yōu)選的,第二判斷模塊具體包括:
解密子模塊,用于從第一接收模塊中的獲取身份認(rèn)證憑據(jù)請(qǐng)求中獲取應(yīng)用密文信息,對(duì)應(yīng)用密文信息進(jìn)行解密生成應(yīng)用標(biāo)識(shí)和應(yīng)用密碼;
第四判斷子模塊,用于根據(jù)解密子模塊解密得到的應(yīng)用標(biāo)識(shí)和應(yīng)用密碼判斷所述應(yīng)用服務(wù)器是否合法;
第五判斷子模塊,用于從第一接收模塊接收到的的獲取身份認(rèn)證憑據(jù)請(qǐng)求中獲取授權(quán)碼,判斷授權(quán)碼是否有效;
第二組織模塊,用于當(dāng)?shù)谖迮袛嘧幽K判定授權(quán)碼有效且所述第四判斷子模塊判定應(yīng)用服務(wù)器合法時(shí)根據(jù)應(yīng)用標(biāo)識(shí)、認(rèn)證服務(wù)器標(biāo)識(shí)和用戶信息組織身份認(rèn)證憑據(jù),并使用私鑰對(duì)身份認(rèn)證憑據(jù)進(jìn)行簽名得到簽名結(jié)果。
可選的,第二組織模塊,具體用于獲取當(dāng)前服務(wù)器時(shí)間作為身份認(rèn)證憑據(jù)發(fā)送時(shí)間,根據(jù)應(yīng)用標(biāo)識(shí)、認(rèn)證服務(wù)器標(biāo)識(shí)、用戶信息和身份認(rèn)證憑據(jù)發(fā)送時(shí)間組織身份認(rèn)證憑據(jù);
可選的,第一判斷模塊,還用于獲取服務(wù)器當(dāng)前時(shí)間作為鑒別終端用戶時(shí)間;
第二組織模塊,具體用于根據(jù)應(yīng)用標(biāo)識(shí)、認(rèn)證服務(wù)器標(biāo)識(shí)、用戶信息和第一判斷模塊得到的所述鑒別終端用戶時(shí)間組織身份認(rèn)證憑據(jù);
可選的,第二組織模塊,具體用于根據(jù)應(yīng)用標(biāo)識(shí)、認(rèn)證服務(wù)器標(biāo)識(shí)、用戶信息和身份認(rèn)證憑據(jù)有效期組織身份認(rèn)證憑據(jù)。
以上所述的實(shí)施例只是本發(fā)明較優(yōu)選的具體實(shí)施方式,本領(lǐng)域的技術(shù)人員在本發(fā)明技術(shù)方案范圍內(nèi)進(jìn)行的通常變化和替換都應(yīng)包含在本發(fā)明的保護(hù)范圍內(nèi)。