一種跨域服務(wù)器的登錄方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及通訊技術(shù)領(lǐng)域,尤其涉及一種跨域服務(wù)器的登錄方法、一種跨域服務(wù)器的登錄系統(tǒng)、一種第一域服務(wù)器和一種第二域服務(wù)器。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,互聯(lián)網(wǎng)上的網(wǎng)站數(shù)量和類型越來(lái)越多,而各網(wǎng)站的域名也不盡相同,并且多數(shù)網(wǎng)站往往都需要注冊(cè)登錄后才能使用相關(guān)的服務(wù)。
[0003]在某些應(yīng)用網(wǎng)站之間,例如SNS (Social Networking Services,社會(huì)性網(wǎng)絡(luò)服務(wù))社交網(wǎng)站、論壇、博客系統(tǒng)、游戲網(wǎng)站、企業(yè)內(nèi)部業(yè)務(wù)系統(tǒng)等,因?yàn)闃I(yè)務(wù)整合需要,用戶只需要在一個(gè)網(wǎng)站中登錄,即可以登錄態(tài)訪問(wèn)其他網(wǎng)站。
[0004]目前有一種方案是利用瀏覽器cookie技術(shù)來(lái)存儲(chǔ)加密的用戶登錄態(tài),服務(wù)器通過(guò)解析cookie數(shù)據(jù)來(lái)完成登錄。
[0005]使用cookie技術(shù),需要將用戶信息記錄在瀏覽器cookie中,服務(wù)器通過(guò)解析cookie數(shù)據(jù)方式獲取用戶信息,這種方式不適用于無(wú)法寫(xiě)cookie的情形,并且,也不適用于兩個(gè)不同域的網(wǎng)站登錄。
[0006]另一種方案是采用單點(diǎn)登錄(Single Sign On, SS0),通過(guò)統(tǒng)一認(rèn)證服務(wù)器來(lái)管理用戶登錄,其他網(wǎng)站與認(rèn)證中心系統(tǒng)通訊獲取用戶登錄態(tài)。
[0007]使用SS0單點(diǎn)登錄方案,需要架設(shè)統(tǒng)一認(rèn)證服務(wù)器,各網(wǎng)站需要共享信息識(shí)別,改造過(guò)程比較復(fù)雜,成本比較高。并且接入認(rèn)證服務(wù)器,各網(wǎng)站都需要引入或者實(shí)現(xiàn)與認(rèn)證服務(wù)器的通訊模塊,改變網(wǎng)站原有的用戶登錄邏輯,對(duì)各個(gè)網(wǎng)站具有高入侵性。
[0008]因此,目前需要本領(lǐng)域技術(shù)人員迫切解決的一個(gè)技術(shù)問(wèn)題就是:如何提出一種跨域登錄機(jī)制,用以增大適用范圍,降低成本。
【發(fā)明內(nèi)容】
[0009]本申請(qǐng)實(shí)施例所要解決的技術(shù)問(wèn)題是提供一種跨域服務(wù)器的登錄方法,用以增大適用范圍,降低成本。
[0010]相應(yīng)的,本申請(qǐng)實(shí)施例還提供了一種跨域服務(wù)器的登錄系統(tǒng)、一種第一域服務(wù)器和一種第二域服務(wù)器,用以保證上述方法的實(shí)現(xiàn)及應(yīng)用。
[0011]為了解決上述問(wèn)題,本申請(qǐng)實(shí)施例公開(kāi)了一種跨域服務(wù)器的登錄方法,包括:
[0012]第一域服務(wù)器在接收到客戶端發(fā)送的第二域服務(wù)器的第一登錄請(qǐng)求時(shí),根據(jù)所述第一登錄請(qǐng)求獲取特征信息;
[0013]第一域服務(wù)器向第二域服務(wù)器發(fā)送登錄令牌的生成請(qǐng)求;所述生成請(qǐng)求中包括所述特征信息;
[0014]第二域服務(wù)器根據(jù)所述生成請(qǐng)求,采用所述特征信息生成登錄令牌;
[0015]第二域服務(wù)器向第一域服務(wù)器發(fā)送所述登錄令牌和登錄地址;
[0016]第一域服務(wù)器將所述登錄令牌嵌入所述登錄地址中,獲得授信登錄地址;
[0017]第一域服務(wù)器向客戶端返回請(qǐng)求響應(yīng);所述請(qǐng)求響應(yīng)中包括所述授信登錄地址;
[0018]第二域服務(wù)器接收客戶端在重定向至授信登錄地址時(shí)發(fā)送的第二域服務(wù)器的第二登錄請(qǐng)求;以及
[0019]第二域服務(wù)器判斷所述第二登錄請(qǐng)求包含的至少一部分信息是否與所述特征信息匹配;若是,則采用所述特征信息進(jìn)行登錄操作。
[0020]優(yōu)選地,所述特征信息包括第二域服務(wù)器的用戶信息;
[0021]所述根據(jù)所述第一登錄請(qǐng)求獲取特征信息的步驟包括:
[0022]從所述第一登錄請(qǐng)求中提取第一域服務(wù)器的用戶信息;以及
[0023]在預(yù)置的數(shù)據(jù)庫(kù)中查找所述第一域服務(wù)器的用戶信息所映射的第二域服務(wù)器的用戶信息。
[0024]優(yōu)選地,所述特征信息包括校驗(yàn)信息;
[0025]所述根據(jù)所述第一登錄請(qǐng)求獲取特征信息的步驟包括:
[0026]從所述第一登錄請(qǐng)求中提取指定的參數(shù)信息;以及
[0027]將所述指定的參數(shù)信息設(shè)置為校驗(yàn)信息。
[0028]優(yōu)選地,所述特征信息包括第一數(shù)字簽名;
[0029]所述根據(jù)所述第一登錄請(qǐng)求獲取特征信息的步驟包括:
[0030]采用所述校驗(yàn)信息進(jìn)行加密處理,獲得第一數(shù)字簽名。
[0031 ]優(yōu)選地,所述采用所述校驗(yàn)信息進(jìn)行加密處理,獲得第一數(shù)字簽名的步驟包括:
[0032]對(duì)所述校驗(yàn)信息進(jìn)行排序;
[0033]在排序后的校驗(yàn)信息中嵌入指定的密鑰,獲得目標(biāo)校驗(yàn)信息;以及
[0034]采用指定的加密算法對(duì)所述目標(biāo)校驗(yàn)信息進(jìn)行加密處理,獲得第一數(shù)字簽名。
[0035]優(yōu)選地,所述參數(shù)信息包括以下至少一者:
[0036]地址信息、瀏覽引用頁(yè)、客戶端版本信息、機(jī)器信息、與客戶端預(yù)先約定的信息。
[0037]優(yōu)選地,所述第二域服務(wù)器根據(jù)所述生成請(qǐng)求,采用所述特征信息生成登錄令牌的步驟包括:
[0038]第二域服務(wù)器判斷所述生成請(qǐng)求是否有效;若是,則采用所述特征信息生成登錄令牌。
[0039]優(yōu)選地,所述生成請(qǐng)求包括第一域服務(wù)器的時(shí)間信息;
[0040]所述第二域服務(wù)器判斷所述生成請(qǐng)求是否有效的步驟包括:
[0041]第二域服務(wù)器在所述第一域服務(wù)器的時(shí)間信息與本地的時(shí)間信息相差不超過(guò)預(yù)設(shè)的時(shí)間閾值時(shí),判斷所述生成請(qǐng)求有效。
[0042]優(yōu)選地,所述第二域服務(wù)器判斷所述生成請(qǐng)求是否有效的步驟包括:
[0043]從所述生成請(qǐng)求中提取校驗(yàn)信息;
[0044]采用所述校驗(yàn)信息進(jìn)行加密處理,獲得第二數(shù)字簽名;以及
[0045]當(dāng)所述第一數(shù)字簽名與所述第二數(shù)字簽名相同時(shí),判斷所述生成請(qǐng)求有效。
[0046]優(yōu)選地,所述采用所述校驗(yàn)信息進(jìn)行加密處理,獲得第二數(shù)字簽名的步驟包括:
[0047]對(duì)所述校驗(yàn)信息進(jìn)行排序;
[0048]在排序后的校驗(yàn)信息中嵌入指定的密鑰,獲得目標(biāo)校驗(yàn)信息;以及
[0049]采用指定的加密算法對(duì)所述目標(biāo)校驗(yàn)信息進(jìn)行加密處理,獲得第二數(shù)字簽名。
[0050]優(yōu)選地,所述采用所述特征信息生成登錄令牌的步驟包括:
[0051]采用所述第二域服務(wù)器的用戶信息和第一域服務(wù)器的時(shí)間信息中的至少一者生成登錄令牌。
[0052]優(yōu)選地,所述第二域服務(wù)器判斷所述第二登錄請(qǐng)求包含的至少一部分信息是否與所述特征信息匹配的步驟包括:
[0053]從所述授信登錄地址中提取所述登錄令牌;
[0054]查找所述登錄令牌對(duì)應(yīng)的第二域服務(wù)器的用戶信息和檢驗(yàn)信息中的至少一者;
[0055]當(dāng)查找到時(shí),從所述第二登錄請(qǐng)求中提取指定的參數(shù)信息;以及
[0056]判斷所述參數(shù)信息是否與所述校驗(yàn)信息相同;若是,則判斷所述第二登錄請(qǐng)求與所述特征信息匹配。
[0057]優(yōu)選地,所述第二域服務(wù)器的用戶信息和檢驗(yàn)信息中的至少一者存儲(chǔ)在緩存中,且,設(shè)置有失效時(shí)間;
[0058]所述查找所述登錄令牌對(duì)應(yīng)的第二域服務(wù)器的用戶信息和檢驗(yàn)信息中的至少一者的步驟包括:
[0059]在超過(guò)失效時(shí)間之前,在緩存中查找所述登錄令牌對(duì)應(yīng)的第二域服務(wù)器的用戶信息和檢驗(yàn)信息中的至少一者。
[0060]優(yōu)選地,所述采用所述特征信息進(jìn)行登錄操作的步驟包括:
[0061]采用所述第二域服務(wù)器的用戶信息進(jìn)行登錄操作。
[0062]優(yōu)選地,所述客戶端包括瀏覽器。
[0063]本申請(qǐng)實(shí)施例還公開(kāi)了一種跨域服務(wù)器的登錄方法,包括:
[0064]第一域服務(wù)器在接收到客戶端發(fā)送的第二域服務(wù)器的第一登錄請(qǐng)求時(shí),根據(jù)所述第一登錄請(qǐng)求獲取特征信息;
[0065]第一域服務(wù)器向第二域服務(wù)器發(fā)送登錄令牌的生成請(qǐng)求;所述生成請(qǐng)求中包括所述特征信息;
[0066]第一域服務(wù)器接收第二域服務(wù)器返回的,根據(jù)所述生成請(qǐng)求采用所述特征信息生成登錄令牌和登錄地址;
[0067]第一域服務(wù)器將所述登錄令牌嵌入所述登錄地址中,獲得授信登錄地址;以及
[0068]第一域服務(wù)器向客戶端返回請(qǐng)求響應(yīng);所述請(qǐng)求響應(yīng)中包括所述授信登錄地址;第二域服務(wù)器用于接收客戶端在重定向至所述授信登錄地址時(shí)發(fā)送的第二域服務(wù)器的第二登錄請(qǐng)求,判斷所述第二登錄請(qǐng)求包含的至少一部分信息是否與所述特征信息匹配,若是,則采用所述特征信息進(jìn)行登錄操作。
[0069]本申請(qǐng)實(shí)施例還公開(kāi)了一種跨域服務(wù)器的登錄方法,包括:
[0070]第二域服務(wù)器接收第一域服務(wù)器發(fā)送的登錄令牌的生成請(qǐng)求;所述生成請(qǐng)求中包括所述特征信息;
[0071]其中,所述特征信息為第一域服務(wù)器在接收到客戶端發(fā)送的第二域服務(wù)器的第一登錄請(qǐng)求時(shí),根據(jù)所述第一登錄請(qǐng)求獲取的特征信息;
[0072]第二域服務(wù)器根據(jù)所述生成請(qǐng)求,采用所述特征信息生成登錄令牌;
[0073]第二域服務(wù)器向第一域服務(wù)器發(fā)送所述登錄令牌和登錄地址;
[0074]第二域服務(wù)器接收客戶端在重定向至授信登錄地址時(shí)發(fā)送的第二域服務(wù)器的第二登錄請(qǐng)求;
[0075]其中,所述授信登錄地址為第一域服務(wù)器將所述登錄令牌嵌入所述登錄地址中,獲得授信登錄地址,向客戶端返回的請(qǐng)求響應(yīng)中包括的授信登錄地址;以及
[0076]第二域服務(wù)器判斷所述第二登錄請(qǐng)求包含的至少一部分信息是否與所述特征信息匹配;若是,則采用所述特征信息進(jìn)行登錄操作。
[0077]本申請(qǐng)實(shí)施例還公開(kāi)了一種跨域服務(wù)器的登錄系統(tǒng),所述系統(tǒng)包括第一域服務(wù)器和第二域服務(wù)器;其中,
[0078]所述第一域服務(wù)器包括:
[0079]特征信息提取模塊,用于在接收到客戶端發(fā)送的第二域服務(wù)器的第一登錄請(qǐng)求時(shí),根據(jù)所述第一登錄請(qǐng)求獲取特征信息;
[0080]生成請(qǐng)求發(fā)送模塊,用于向第二域服務(wù)器發(fā)送登錄令牌的生成請(qǐng)求;所述生成請(qǐng)求中包括所述特征信息;
[0081]授信登錄地址獲得模塊,用于將所述登錄令牌嵌入所述登錄地址中,獲得授信登錄地址;
[0082]請(qǐng)求響應(yīng)返回模塊,用于向客戶端返回請(qǐng)求響應(yīng);所述請(qǐng)求響應(yīng)中包括所述授信登錄地址;
[0083]所述第二域服務(wù)器包括:
[0084]登錄令牌生成模塊,用于根據(jù)所述生成請(qǐng)求,采用所述特征信息生成登錄令牌;
[0085]授信數(shù)據(jù)發(fā)送模塊,用于向第一域服務(wù)器發(fā)送所述登錄令牌和登錄地址;
[0086]第二登錄請(qǐng)求接收模塊,用于接收客戶端在重定向至授信登錄地址時(shí)發(fā)送的第二域服務(wù)器的第二登錄請(qǐng)求;
[0087]匹配判斷模塊,用于判斷所述第二登錄請(qǐng)求包含的至少一部分信息是否與所述特征信息匹配;若是,則調(diào)用登錄模塊;
[0088]登錄模塊,用于采用所述特征信息進(jìn)行登錄操作。
[0089]優(yōu)選地,優(yōu)選地,所述特征信息包括第二域服務(wù)器的用戶信息;
[0090]所述特征信息提取模塊包括:
[0091]用戶信息提取子模塊,用于從所述第一登錄請(qǐng)求中提取第一域服務(wù)器的用戶信息;
[0092]用戶信息查找子模塊,用于在預(yù)置的數(shù)據(jù)庫(kù)中查找所述第一域服務(wù)器的用戶信息所映射的第二域服務(wù)器的用戶信息。
[0093]優(yōu)選地,所述特征信息包括校驗(yàn)信息;
[0094]所述特征信息提取模塊包括:
[0095]第一參數(shù)信息提取子模塊,用于從所述第一登錄請(qǐng)求中提取指定的參數(shù)信息;
[0096]校驗(yàn)信息設(shè)置子模塊,用于將所述指定的參數(shù)信息設(shè)置為校驗(yàn)信息。
[0097]優(yōu)選地,所述特征信息包括第一數(shù)字簽名;
[0098]所述特征信息提取模塊包括:
[0099]第一數(shù)字簽名獲得子模塊,用于采用所述校驗(yàn)信息進(jìn)行加密處理,獲得第一數(shù)字簽名。
[0100]優(yōu)選地,所述第一數(shù)字簽名獲得子模塊包括:
[0101]第一排序子模塊,用于對(duì)所述校驗(yàn)信息進(jìn)行排序;
[0102]第一嵌入子模塊,用于在排序后的校驗(yàn)信息中嵌入指定的密鑰,獲得目標(biāo)校驗(yàn)信息;
[0103]第一加密處理子模塊,用于采用指定的加密算法對(duì)所述目標(biāo)校驗(yàn)信息進(jìn)行加密處理,獲得第一數(shù)字簽名。
[0104]優(yōu)選地,所述參數(shù)信息包括以下至少一者:
[0105]地址信息、瀏覽引用頁(yè)、客戶端版本信息、機(jī)器信息、與客戶端預(yù)先約定的信息。
[0106]優(yōu)選地,所述登錄令牌生成模塊包括:
[0107]有效判斷子模塊,用于判斷所述生成請(qǐng)求是否有效;若是,則調(diào)用生成子模塊;
[0108]第一生成子模塊,用于采用所述特征信息生成登錄令牌。
[0109]優(yōu)選地,所述生成請(qǐng)求包括第一域服務(wù)器的時(shí)間信息;
[0110]所述有效判斷子模塊包括:
[0111]時(shí)間判斷子模塊,用于第二域服務(wù)器在所述第一域服務(wù)器的時(shí)間信息與本地的時(shí)間信息相差不超過(guò)預(yù)設(shè)的時(shí)間閾值時(shí),判斷所述生成請(qǐng)求有效。
[0112]優(yōu)選地,所述有效判斷子模塊包括:
[0113]校驗(yàn)信息提取子模塊,用于從所述生成請(qǐng)求中提取校驗(yàn)信息;
[0114]第二數(shù)字簽名獲得子模塊,用于采用所述校驗(yàn)信息進(jìn)行加密處理,獲得第二數(shù)字簽名;
[0115]校驗(yàn)判斷子模塊,用于在所述第一數(shù)字簽名與所述第二數(shù)字簽名相同時(shí),判斷所述生成請(qǐng)求有效。
[0116]優(yōu)選地,所述第二數(shù)字簽名獲得子模塊包括:
[0117]第二排序子模塊,用于對(duì)所述校驗(yàn)信息進(jìn)行排序;
[0118]第二嵌入子模塊,用于在排序后的校驗(yàn)信息中嵌入指定的密鑰,獲得目標(biāo)校驗(yàn)信息;
[0119]第二加密處理子模塊,用于采用指定的加密算法對(duì)所述目標(biāo)校驗(yàn)信息進(jìn)行加密處理,獲得第二數(shù)字簽名。
[0120]優(yōu)選地,所述第一生成子模塊包括:
[0121]第二生成子模塊,用于采用所述第二域服務(wù)器的用戶信息和第一域服務(wù)器的時(shí)間信息中的至少一者生成登錄令牌。
[0122]優(yōu)選地,所述匹配判斷模塊包括:
[0123]登錄令牌提取子模塊,用于從所述授信登錄地址中提取所述登錄令牌;
[