繼續(xù)進行后續(xù)登錄驗證的步驟。
[0054]步驟304,給予對應(yīng)用戶標識的登錄授權(quán)。
[0055]第二方服務(wù)器根據(jù)第三方令牌所進行的本地驗證通過,可給予對應(yīng)上述用戶標識的登錄授權(quán),使第一方客戶端具有登錄后的操作權(quán)限。步驟304之后,第二方服務(wù)器還可以向第一方客戶端返回表示登錄成功的第二登錄反饋,使第一方客戶端知曉登錄成功從而繼續(xù)進行后續(xù)操作。
[0056]在一個實施例中,若滿足第二預(yù)設(shè)條件,則步驟304之前或之后,還包括:生成對應(yīng)用戶標識的第二方令牌并在本地緩存,并將生成的第二方令牌發(fā)送給第一方客戶端緩存。若第二方服務(wù)器本地或第一方客戶端已經(jīng)存在緩存的第二方令牌,則根據(jù)生成的第二方令牌更新已緩存的第二方令牌,具體可用生成的第二方令牌替換掉已緩存的第二方令牌。由于當(dāng)前登錄驗證過程中,第二方令牌未能起到作用,此時第二方服務(wù)器生成第二方令牌并在本地以及第一方客戶端緩存,這樣上述用戶標識在第一方客戶端再次進行登錄驗證時,第一方客戶端就可以將其緩存的第二方令牌發(fā)送到第二方服務(wù)器,第二方服務(wù)器通過判斷接收到的第二方令牌是否與第二方服務(wù)器本地緩存的第二方令牌一致來進行登錄驗證,便于下次快捷登錄。
[0057]步驟306,將令牌參數(shù)中所包含的第三方令牌發(fā)送給第三方服務(wù)器進行驗證并接收第三方服務(wù)器反饋的驗證結(jié)果。
[0058]當(dāng)?shù)诙椒?wù)器本地?zé)o法對第三方令牌進行驗證時,可將令牌參數(shù)中所包含的第三方令牌發(fā)送給第三方服務(wù)器,由第三方服務(wù)器進行驗證,并接收第三方服務(wù)器所反饋的驗證結(jié)果。
[0059]步驟308,判斷驗證結(jié)果表示驗證成功還是驗證失敗,若表示驗證成功,則執(zhí)行步驟310,若表示驗證失敗,則執(zhí)行步驟312。
[0060]驗證結(jié)果可以用數(shù)值表示,且不同的數(shù)值分別表示驗證成功或驗證失敗。比如可以用數(shù)值1表示驗證成功,而可以用數(shù)字0來表示驗證失敗。
[0061]步驟310,給予對應(yīng)用戶標識的登錄授權(quán)。
[0062]當(dāng)?shù)诙椒?wù)器接收到第三方服務(wù)器發(fā)送的表示驗證成功的驗證結(jié)果后,則說明經(jīng)過第三方服務(wù)器的驗證,該次登錄請求是可靠的,可給予對應(yīng)上述用戶標識的登錄授權(quán),使第一方客戶端具有登錄后的操作權(quán)限。步驟310之后,第二方服務(wù)器還可以向第一方客戶端返回表示登錄成功的第二登錄反饋,使第一方客戶端知曉登錄成功從而繼續(xù)進行后續(xù)操作。
[0063]在一個實施例中,若驗證結(jié)果表示驗證成功,則在步驟310之前或之后,還包括:在本地緩存令牌參數(shù)中所包含的第三方令牌;生成對應(yīng)用戶標識的第二方令牌并在本地緩存,并將生成的第二方令牌發(fā)送給第一方客戶端緩存。若第二方服務(wù)器本地已經(jīng)緩存了第三方令牌,則根據(jù)令牌參數(shù)中所包含的第三方令牌更新本地已緩存的第三方令牌。若第二方服務(wù)器本地或第一方客戶端已經(jīng)存在緩存的第二方令牌,則根據(jù)生成的第二方令牌更新已緩存的第二方令牌,具體可用生成的第二方令牌替換掉已緩存的第二方令牌。
[0064]本實施例中,由于當(dāng)前登錄驗證過程中,第二方令牌未能起到作用,此時第二方服務(wù)器生成第二方令牌并在本地以及第一方客戶端緩存,這樣上述用戶標識在第一方客戶端再次進行登錄驗證時,第一方客戶端就可以將其緩存的第二方令牌發(fā)送到第二方服務(wù)器,第二方服務(wù)器通過判斷接收到的第二方令牌是否與第二方服務(wù)器本地緩存的第二方令牌一致來進行登錄驗證,便于下次快捷登錄。而且緩存第三方令牌可以在下次登錄時,若對第二方令牌驗證失敗可以繼續(xù)根據(jù)緩存的第三方令牌進行本地驗證,保證登錄驗證能夠有效進行。
[0065]步驟312,拒絕登錄授權(quán)。
[0066]當(dāng)?shù)诙椒?wù)器接收到第三方服務(wù)器發(fā)送的表示驗證失敗的驗證結(jié)果后,則說明經(jīng)過第三方服務(wù)器的驗證,該次登錄請求是不可靠的,需拒絕該次登錄請求。步驟312之后,第二方服務(wù)器還可以向第一方客戶端返回表示登錄失敗的第三登錄反饋,使第一方客戶端知曉登錄失敗從而執(zhí)行登錄失敗后的操作。
[0067]本實施例中,第二方服務(wù)器預(yù)先將第三方令牌緩存在本地,雖然無法知曉第三方令牌所表示的具體內(nèi)容,但也可以通過判斷令牌參數(shù)中所包含的第三方令牌是否與本地緩存的第三方令牌一致來進行驗證,避免與第三方服務(wù)器直接通信,從而可以節(jié)省資源消耗,降低登錄響應(yīng)時間,以及避免第三方服務(wù)器故障導(dǎo)致的無法登錄的情形。當(dāng)?shù)诙椒?wù)器本地未緩存第三方令牌時,則只能將令牌參數(shù)中所包含的第三方令牌發(fā)送給第三方服務(wù)器進行驗證,保證登錄驗證過程能夠有效地進行。
[0068]如圖4所示,在一個實施例中,提供了另一種登錄驗證方法,本實施例以該方法應(yīng)用于圖1所示的登錄驗證系統(tǒng)中的第一方終端上運行的第一方客戶端來舉例說明。本實施例中,第二方服務(wù)器相應(yīng)地運行上述實施例中的登錄驗證方法,可以理解的是第一方客戶端在上述實施例中所進行的各種步驟同樣適用于本實施例中。該登錄驗證方法具體包括如下步驟:
[0069]步驟402,獲取用戶標識和對應(yīng)用戶標識而緩存的第二方令牌和第三方令牌。
[0070]第一方客戶端預(yù)先對應(yīng)用戶標識而緩存了第二方令牌和第三方令牌,在進行登錄驗證時獲取緩存的用戶標識和對應(yīng)該用戶標識而緩存的第二方令牌和第三方令牌。
[0071]步驟404,向第二方服務(wù)器發(fā)送攜帶有用戶標識、第二方令牌和第三方令牌的登錄請求,使第二方服務(wù)器響應(yīng)于登錄請求而根據(jù)第二方令牌進行驗證,驗證失敗時再根據(jù)第三方令牌進行驗證。
[0072]第一方客戶端生成包含有第二方令牌和第三方令牌的令牌參數(shù),將該令牌參數(shù)和獲取的用戶標識加入登錄請求,并將該登錄請求發(fā)送給第二方服務(wù)器。第二方服務(wù)器運行上述各個實施例中的登錄驗證方法,接收登錄請求并作出響應(yīng),先根據(jù)第二方令牌進行驗證,驗證失敗時再根據(jù)第三方令牌進行驗證。
[0073]步驟406,接收第二方服務(wù)器當(dāng)根據(jù)第二方令牌進行驗證成功后所發(fā)送的表示登錄成功的第一登錄反饋;或者,接收第二方服務(wù)器當(dāng)根據(jù)第三方令牌進行驗證成功后所發(fā)送的表示登錄成功的第二登錄反饋;或者,接收第二方服務(wù)器當(dāng)根據(jù)第三方令牌進行驗證失敗后所發(fā)送的表示登錄失敗的第三登錄反饋。
[0074]當(dāng)?shù)诙椒?wù)器根據(jù)第二方令牌進行驗證且驗證通過后,則向第一方客戶端發(fā)送表示登錄成功的第一登錄反饋,并由第一方客戶端接收,從而繼續(xù)執(zhí)行登錄成功后的操作,比如進入游戲。當(dāng)?shù)诙椒?wù)器根據(jù)第二方令牌進行驗證失敗后,再根據(jù)第三方令牌進行驗證,驗證成功則向第一方客戶端發(fā)送表示登錄成功的第二登錄反饋,從而繼續(xù)執(zhí)行登錄成功后的操作,比如進入游戲;驗證失敗則向第一方客戶端發(fā)送表示登錄失敗的第三登錄反饋,從而再執(zhí)行登錄失敗后的操作,比如重新進行登錄。
[0075]在一個實施例中,當(dāng)接收到第一登錄反饋或者第二登錄反饋時,該登錄驗證方法還包括:獲取第二方服務(wù)器所生成并發(fā)送的第二方令牌,并根據(jù)獲取的第二方令牌更新緩存的第二方令牌。第二登錄反饋是第二方服務(wù)器在根據(jù)第二方令牌驗證失敗后再根據(jù)第三方令牌驗證成功后所生成并發(fā)送的,是最新的且有效的第二方令牌,可根據(jù)該獲取的第二方令牌更新緩存的第二方令牌,具體用獲取的第二方令牌替換已經(jīng)緩存的第二方令牌。其中第一登錄反饋可以與第二登錄反饋內(nèi)容相同。這樣該次登錄成功,當(dāng)下次登錄時就可以根據(jù)緩存的第二方令牌進行登錄驗證。
[0076]上述登錄驗證方法,第一方客戶端緩存了用戶標識、第二方令牌和第三方令牌,將這些數(shù)據(jù)添加到登錄請求中發(fā)送給第二方服務(wù)器,第二方服務(wù)器就可以先根據(jù)第二方令牌進行驗證,驗證失敗再根據(jù)第三方令牌進行驗證,然后第一方客戶端接收第二方服務(wù)器所返回的登錄反饋,完成登錄過程。
[0077]由于第二方令牌是第二方服務(wù)器生成的,第二方服務(wù)器可對其直接進行驗證。而第三方令牌是第三方服務(wù)器生成的,其生成方式和驗證方式對于第二方是保密的,對其內(nèi)容進行驗證只能將其發(fā)送給第三方服務(wù)器進行驗證。這樣第一方客戶端緩存了第二方令牌,則將其發(fā)送給第二方服務(wù)器后,第二方服務(wù)器不與第三方服務(wù)器直接通信就可以進行驗證,減少與第三方服務(wù)器進行多次直接的通信而帶來的資源消耗,且登錄響應(yīng)時間短,也可以避免當(dāng)?shù)谌椒?wù)器故障或與第三方服務(wù)器的網(wǎng)絡(luò)連接故障時導(dǎo)致的無法登錄。再者,即使根據(jù)第二令牌驗證失敗,也可以利用第一方客戶端所緩存的第三方令牌進行登錄驗證,保證登錄驗證過程能夠有效地進行。
[0078]如圖5所示,在一個實施例中,還提供了一種登錄驗證系統(tǒng),該系統(tǒng)包括登錄請求接收模塊502、第一預(yù)設(shè)條件判斷模塊504、第一判斷結(jié)果處理模塊506和第二判斷結(jié)果處理模塊508。
[0079]登錄請求接收模塊502,用于接收第一方客戶端所發(fā)送的攜帶有用戶標識和令牌參數(shù)的登錄請求。
[0080]第一預(yù)設(shè)條件判斷模塊504,用于響應(yīng)于登錄請求而判斷是否滿足第一預(yù)設(shè)條件;第一預(yù)設(shè)條件包括:令牌參數(shù)包含