獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
[0022]需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
[0023]實(shí)施例1
[0024]根據(jù)本發(fā)明實(shí)施例,提供了一種可以用于實(shí)施本申請(qǐng)裝置實(shí)施例的方法實(shí)施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0025]在本發(fā)明實(shí)施例中,設(shè)備為具有觸摸屏幕的,且可以安裝應(yīng)用程序的任何類型終端,例如手機(jī)、平板電腦等。
[0026]根據(jù)本發(fā)明實(shí)施例,提供了一種用戶請(qǐng)求的認(rèn)證方法。圖1是根據(jù)本發(fā)明實(shí)施例的用戶請(qǐng)求的認(rèn)證方法的流程圖,如圖1所示,該方法包括如下的步驟S102至步驟SllO:
[0027]步驟S102:接收用戶請(qǐng)求,其中,用戶請(qǐng)求為用戶接觸設(shè)備屏幕中的當(dāng)前顯示頁面時(shí)產(chǎn)生的請(qǐng)求,用戶請(qǐng)求中包含第一訪問令牌。
[0028]步驟S104:根據(jù)目標(biāo)應(yīng)用程序中存儲(chǔ)的認(rèn)證信息對(duì)用戶請(qǐng)求進(jìn)行認(rèn)證,其中,目標(biāo)應(yīng)用程序?yàn)楫?dāng)前顯示頁面對(duì)應(yīng)的應(yīng)用。
[0029]步驟S106:在用戶請(qǐng)求通過認(rèn)證的情況下,發(fā)送用戶請(qǐng)求至服務(wù)器,以得到響應(yīng)用戶請(qǐng)求的響應(yīng)消息。
[0030]步驟S108:在用戶請(qǐng)求未通過認(rèn)證的情況下,發(fā)送第一刷新請(qǐng)求至服務(wù)器,以請(qǐng)求得到第二訪問令牌,其中,第二訪問令牌與第一訪問令牌不同,第一刷新請(qǐng)求中包含認(rèn)證信息中存儲(chǔ)的刷新令牌。
[0031]步驟SllO:在接收到服務(wù)器發(fā)送的第二訪問令牌的情況下,將用戶請(qǐng)求中包含的第一訪問令牌替換為第二訪問令牌后發(fā)送至服務(wù)器,以得到響應(yīng)用戶請(qǐng)求的響應(yīng)消息。
[0032]在本發(fā)明實(shí)施例中,應(yīng)用程序接收到用戶請(qǐng)求后,根據(jù)其內(nèi)存儲(chǔ)的認(rèn)證信息對(duì)上述用戶請(qǐng)求進(jìn)行本地認(rèn)證。如果用戶請(qǐng)求通過本地認(rèn)證,則將用戶請(qǐng)求發(fā)送至服務(wù)器,以得到該用戶請(qǐng)求的響應(yīng)消息;如果用戶請(qǐng)求未通過本地認(rèn)證,該應(yīng)用程序會(huì)自動(dòng)獲取新的,有效的認(rèn)證介質(zhì)(即,訪問令牌),并將上述用戶請(qǐng)求中已經(jīng)失效的認(rèn)證介質(zhì)替換成新獲取的認(rèn)證介質(zhì),即也同樣認(rèn)為完成了對(duì)該用戶請(qǐng)求的本地認(rèn)證,最后發(fā)送替換了認(rèn)證介質(zhì)后的用戶請(qǐng)求至服務(wù)器。
[0033]而相關(guān)技術(shù)中,在對(duì)用戶請(qǐng)求進(jìn)行認(rèn)證時(shí),如果應(yīng)用程序?qū)τ脩舻谝淮伟l(fā)送的用戶請(qǐng)求進(jìn)行認(rèn)證后,判斷出第一次接收到的用戶請(qǐng)求未通過認(rèn)證,會(huì)提示該用戶需要再次發(fā)送上述用戶請(qǐng)求,以獲取有效的認(rèn)證介質(zhì)。當(dāng)該應(yīng)用程序第二次接收到上述用戶請(qǐng)求時(shí),會(huì)通過服務(wù)器獲取到有效的認(rèn)證介質(zhì),但是在收到有效的認(rèn)證介質(zhì)后,仍會(huì)提示用戶需要再一次(即第三次)發(fā)送上述用戶請(qǐng)求,其中,再一次發(fā)送的用戶請(qǐng)求中包含了有效的認(rèn)證介質(zhì)。由于第三次發(fā)送的用戶請(qǐng)求中包含了有效的認(rèn)證介質(zhì),所以上述用戶請(qǐng)求可以通過本地認(rèn)證,即完成了對(duì)用戶請(qǐng)求的認(rèn)證,這時(shí)應(yīng)用程序會(huì)將用戶請(qǐng)求轉(zhuǎn)發(fā)至服務(wù)器。通過上述描述可知,現(xiàn)有技術(shù)中對(duì)用戶請(qǐng)求進(jìn)行認(rèn)證時(shí),認(rèn)證過程較為繁瑣,需要用戶多次發(fā)生同一用戶請(qǐng)求,才可得到上述用戶請(qǐng)求的響應(yīng)信息。
[0034]通過以上對(duì)比,可以看出本發(fā)明實(shí)施例中,對(duì)用戶請(qǐng)求進(jìn)行認(rèn)證時(shí),即使用戶請(qǐng)求沒有通過本地認(rèn)證,用戶也只需發(fā)送一次用戶請(qǐng)求即可完成對(duì)該用戶請(qǐng)求的認(rèn)證,解決了現(xiàn)有技術(shù)中對(duì)用戶請(qǐng)求進(jìn)行認(rèn)證的方式較為繁瑣,導(dǎo)致用戶操作不便的問題,進(jìn)而達(dá)到了簡化對(duì)用戶請(qǐng)求的認(rèn)證過程,提高認(rèn)證效率的效果。此外,本發(fā)明實(shí)施例所提供的認(rèn)證方式,還起到了簡化用戶操作的效果。
[0035]本發(fā)明上述實(shí)施例所提供的用戶請(qǐng)求的認(rèn)證方法可以應(yīng)用到任一安裝在終端設(shè)備中的應(yīng)用程序中。
[0036]此外,本發(fā)明上述實(shí)施例中,目標(biāo)應(yīng)用程序根據(jù)其內(nèi)存儲(chǔ)的認(rèn)證信息對(duì)用戶請(qǐng)求進(jìn)行認(rèn)證的過程,也就是應(yīng)用程序?qū)τ脩粽?qǐng)求進(jìn)行認(rèn)證的過程,可以稱為本地認(rèn)證。
[0037]可選地,第一訪問令牌中包含由32位或者64位的字符、數(shù)字和特殊字符隨機(jī)組成的序列。
[0038]可選地,認(rèn)證信息中存儲(chǔ)的刷新令牌中包含三部分內(nèi)容,一部分內(nèi)容是由32位或者64位的字符、數(shù)字和特殊字符隨機(jī)組成的序列,另一部分內(nèi)容是申請(qǐng)刷新令牌的時(shí)間,還有一部分內(nèi)容是刷新令牌的有效使用期限。在本發(fā)明實(shí)施例中,可以將刷新令牌的有效使用期限設(shè)置較為長久,例如年。那么,認(rèn)證信息則持久化的存儲(chǔ)在應(yīng)用程序中,上述持久化的存儲(chǔ)時(shí)長由刷新令牌的有效使用期限決定。
[0039]可選地,認(rèn)證信息中除了存儲(chǔ)有刷新令牌外,還存儲(chǔ)有第三訪問令牌,根據(jù)目標(biāo)應(yīng)用程序中存儲(chǔ)的認(rèn)證信息對(duì)用戶請(qǐng)求進(jìn)行認(rèn)證包括如下步驟S1041至步驟S1045:
[0040]步驟S1041:目標(biāo)應(yīng)用程序中的應(yīng)用程序編程接口將用戶請(qǐng)求發(fā)送至對(duì)應(yīng)的網(wǎng)絡(luò)請(qǐng)求接口。
[0041]其中,目標(biāo)應(yīng)用程序在接收到用戶請(qǐng)求后,通過其內(nèi)的應(yīng)用程序編程接口調(diào)用與該用戶請(qǐng)求對(duì)應(yīng)的網(wǎng)絡(luò)請(qǐng)求接口的方式,將上述用戶請(qǐng)求發(fā)送至與其對(duì)應(yīng)的網(wǎng)絡(luò)請(qǐng)求接
□ O
[0042]步驟S1043:網(wǎng)絡(luò)請(qǐng)求接口將用戶請(qǐng)求發(fā)送至網(wǎng)絡(luò)模塊。
[0043]步驟S1045:網(wǎng)絡(luò)模塊根據(jù)第三訪問令牌判斷第一訪問令牌是否有效,其中,在判斷出第一訪問令牌有效的情況下,用戶請(qǐng)求通過認(rèn)證;在判斷出第一訪問令牌無效的情況下,用戶請(qǐng)求未通過認(rèn)證。
[0044]其中,網(wǎng)絡(luò)模塊為對(duì)基礎(chǔ)網(wǎng)絡(luò)請(qǐng)求模塊進(jìn)行認(rèn)證權(quán)限擴(kuò)展后的模塊。網(wǎng)絡(luò)模塊用于對(duì)用戶請(qǐng)求進(jìn)行認(rèn)證,并將接收到的,且通過認(rèn)證的用戶請(qǐng)求繼續(xù)轉(zhuǎn)發(fā)至服務(wù)器。需要說明的是,不同的用戶請(qǐng)求都是通過網(wǎng)絡(luò)模塊轉(zhuǎn)發(fā)至服務(wù)器的,并且該網(wǎng)絡(luò)模塊是唯一的。不同用戶請(qǐng)求之間的差異體現(xiàn)在各自用戶請(qǐng)求URL鏈接以及每個(gè)用戶請(qǐng)求所規(guī)定的參數(shù)。當(dāng)接收到不同的用戶請(qǐng)求時(shí),對(duì)網(wǎng)絡(luò)模塊來說,只是不同參數(shù)的差異,對(duì)每個(gè)用戶請(qǐng)求進(jìn)行認(rèn)證的處理流程都是相同的。
[0045]可選地,第三訪問令牌中也包含三部分內(nèi)容,分別是由32位或者64位的字符、數(shù)字和特殊字符隨機(jī)組成的序列、申請(qǐng)?jiān)撛L問令牌的時(shí)間以及該訪問令牌的有效使用期限。
[0046]進(jìn)一步可選地,網(wǎng)絡(luò)模塊根據(jù)第三訪問令牌判斷第一訪問令牌是否有效包括如下步驟:
[0047]步驟S1:網(wǎng)絡(luò)模塊獲取第三訪問令牌中的有效使用期限。
[0048]步驟S3:判斷接收到第一訪問令牌的時(shí)間是否超過有效使用期限,其中,在判斷出接收到第一訪問令牌的時(shí)間超過有效使用期限的情況下,表示第一訪問令牌有效,則確定用戶請(qǐng)求通過認(rèn)證;在判斷出接收到第一訪問令牌的時(shí)間已超過有效使用期限的情況下,表示第一訪問令牌無效,則確定用戶請(qǐng)求未通過認(rèn)證。
[0049]可選地,在用戶請(qǐng)求未通過認(rèn)證的情況下,發(fā)送第一刷新請(qǐng)求至服務(wù)器之后,本發(fā)明實(shí)施例所提供的用戶請(qǐng)求的認(rèn)證方法還包括如下步驟S112至步驟S114:
[0050]步驟S112:判斷是否接收到服務(wù)器發(fā)送的第二訪問令牌。
[0051]可以由網(wǎng)絡(luò)模塊將包含刷新令牌的第一刷新請(qǐng)求發(fā)送至服務(wù)器。由于刷新令牌也是有使用時(shí)間限制的,所以很有可能發(fā)送至服務(wù)器的第一刷新請(qǐng)求中包含的刷新令牌已經(jīng)超過該令牌的有效使用期限,即該刷新令牌已經(jīng)過期,那么服務(wù)器在接收到上述用于請(qǐng)求得到第二訪問令牌的刷新請(qǐng)求后,會(huì)先判斷刷新請(qǐng)求中的刷新令牌是否已經(jīng)過期,如果判斷出刷新令牌已經(jīng)過期,則服務(wù)器不會(huì)發(fā)送第二訪問令牌給目標(biāo)應(yīng)用程序,如果判斷出刷新令牌未過期,則服務(wù)器會(huì)發(fā)送第二訪問令牌給目標(biāo)應(yīng)用程序。
[0052]步驟S114:在判斷出未接收到第二訪問令牌的情況下,刪除認(rèn)證信息。
[0053]進(jìn)一步可選地,在判斷出未接收到第二訪問令牌的情況下,刪除認(rèn)證信息時(shí),還可以發(fā)出異常提示消息。該異常提示消息可以體現(xiàn)在目標(biāo)應(yīng)用程序的系統(tǒng)日志中,用于向目標(biāo)應(yīng)用程序后臺(tái)的工作人員反饋用戶請(qǐng)求未能響應(yīng);還可以以文字的形式顯示在設(shè)備屏幕中,用于提醒用戶進(jìn)行相應(yīng)操作。例如,上述文字可以是:請(qǐng)檢查網(wǎng)絡(luò)設(shè)置。
[0054]在用戶請(qǐng)求通過本地認(rèn)證之后,為了得到該用戶請(qǐng)求的響應(yīng)消息,目標(biāo)應(yīng)用程序還會(huì)繼續(xù)將該用戶請(qǐng)求發(fā)送給服務(wù)器,但是,服務(wù)器在接收到上述用戶請(qǐng)求后,會(huì)再次對(duì)該用戶請(qǐng)求進(jìn)行認(rèn)證。
[0055]需要說明的是,在本地認(rèn)證的過程中,可能只是檢查用戶請(qǐng)求中的訪問令牌是否超過有效使用期限,即檢查用戶請(qǐng)求中的訪問令牌是否有效,而服務(wù)器在對(duì)用戶請(qǐng)求進(jìn)行認(rèn)證的過程中,檢查的內(nèi)容包括但不限于用戶請(qǐng)求中訪問令牌是否有效,還會(huì)對(duì)訪問令牌進(jìn)行其它內(nèi)容的檢查,例如,檢查訪問令牌是否合法等。如果服務(wù)器檢查的全部內(nèi)容,用戶請(qǐng)求都是符合條件或要求的,那么服務(wù)器會(huì)返回響應(yīng)該用戶請(qǐng)求的響應(yīng)消息給目標(biāo)應(yīng)用程序,如果服務(wù)器檢查的全部內(nèi)容中,用戶請(qǐng)求中有至少一項(xiàng)不符合條件或者要求,則服務(wù)器會(huì)返回對(duì)用戶請(qǐng)求認(rèn)證失敗的消息給目標(biāo)應(yīng)用程序。
[0056]通過上述描述可知,目標(biāo)應(yīng)用程序?qū)τ脩粽?qǐng)求的認(rèn)證與服務(wù)器對(duì)用戶請(qǐng)求的認(rèn)證之間是相互獨(dú)立的,互不影響的,即,服務(wù)器不會(huì)因?yàn)橛脩粽?qǐng)求通過了目標(biāo)應(yīng)用程序?qū)ζ涞恼J(rèn)證,而不再對(duì)上述用戶請(qǐng)求進(jìn)行認(rèn)證。
[0057]可選地,在用戶請(qǐng)求通過認(rèn)證的情況下,發(fā)送用戶請(qǐng)求至服務(wù)器之后,本發(fā)明實(shí)施例所提供的用戶請(qǐng)求的認(rèn)證方法還包括如下步驟S116至步驟S124:
[0058]步驟S116:判斷是否接收到服務(wù)器發(fā)送的認(rèn)證失敗消息。
[0059]其中,上述步驟S116中認(rèn)證失敗消息是指服務(wù)器對(duì)包含第一訪問令牌的用戶請(qǐng)求進(jìn)行認(rèn)證,所反饋的消息。
[0060]步驟S118:在判斷出接收到認(rèn)證失敗消息的情況下,發(fā)送第二刷新請(qǐng)求至服務(wù)器,