本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體涉及一種可識(shí)別調(diào)用云平臺(tái)數(shù)據(jù)的應(yīng)用的方法及系統(tǒng)。
背景技術(shù):
近幾年來出現(xiàn)了各種平臺(tái)服務(wù)以便人們?cè)陂_發(fā)的軟件的過程中只需要關(guān)注業(yè)務(wù)層的開發(fā),無需跟數(shù)據(jù)庫打交道,將軟件中的基礎(chǔ)數(shù)據(jù)保存到云平臺(tái)中。目前各平臺(tái)都是API秘鑰和各個(gè)接口所需的參數(shù)進(jìn)行訪問平臺(tái)進(jìn)行取值,存在多種一個(gè)人開發(fā)多套應(yīng)用都使用同一個(gè)API秘鑰,這樣就無法區(qū)別是通過哪個(gè)應(yīng)用調(diào)用接口。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是:提供一種可識(shí)別調(diào)用云平臺(tái)數(shù)據(jù)的應(yīng)用的方法及系統(tǒng)。
為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:提供一種可識(shí)別調(diào)用云平臺(tái)數(shù)據(jù)的應(yīng)用的方法,包括如下步驟:
在oauth平臺(tái)預(yù)設(shè)應(yīng)用對(duì)應(yīng)的客戶端標(biāo)識(shí);
應(yīng)用通過HTTP的方式發(fā)送客戶端標(biāo)識(shí)、用戶的用戶名和密碼至oauth平臺(tái);
判斷oauth平臺(tái)接收的客戶端標(biāo)識(shí)是否有效;
若判斷客戶端標(biāo)識(shí)有效,則判斷用戶名和密碼是否正確;
若判斷用戶名和密碼正確,則返回用戶的用戶ID、用戶會(huì)話標(biāo)識(shí)和用戶會(huì)話標(biāo)識(shí)秘鑰至客戶端;
客戶端使用用戶會(huì)話標(biāo)識(shí)秘鑰通過應(yīng)用登錄云平臺(tái)獲取數(shù)據(jù)。
本發(fā)明提供的另一技術(shù)方案為:提供一種可識(shí)別調(diào)用云平臺(tái)數(shù)據(jù)的應(yīng)用的系統(tǒng),包括:
預(yù)設(shè)模塊,用于在oauth平臺(tái)預(yù)設(shè)應(yīng)用對(duì)應(yīng)的客戶端標(biāo)識(shí);
發(fā)送模塊,用于通過HTTP的方式發(fā)送客戶端標(biāo)識(shí)、用戶的用戶名和密碼至oauth平臺(tái);
第一判斷模塊,用于判斷oauth平臺(tái)接收的客戶端標(biāo)識(shí)是否有效;
第二判斷模塊,用于若判斷客戶端標(biāo)識(shí)有效,判斷用戶名和密碼是否正確;
第一返回模塊,用于若第一判斷模塊判斷用戶名和密碼正確,則返回用戶的用戶ID、用戶會(huì)話標(biāo)識(shí)和用戶會(huì)話標(biāo)識(shí)秘鑰至客戶端;
獲取模塊,用于使用用戶會(huì)話標(biāo)識(shí)秘鑰通過應(yīng)用登錄云平臺(tái)獲取數(shù)據(jù)。
本發(fā)明的有益效果在于:本發(fā)明的可識(shí)別調(diào)用云平臺(tái)數(shù)據(jù)的應(yīng)用的方法及系統(tǒng)中,每個(gè)應(yīng)用對(duì)應(yīng)一個(gè)客戶端標(biāo)識(shí)(clientId),每個(gè)人通過不同的應(yīng)用到oauth平臺(tái)獲取到的用戶會(huì)話標(biāo)識(shí)(AccessToken)和用戶會(huì)話標(biāo)識(shí)秘鑰(AccessTokenKey)都是不一樣的,這樣用戶通過用戶會(huì)話標(biāo)識(shí)(AccessToken)和用戶會(huì)話標(biāo)識(shí)秘鑰(AccessTokenKey)獲取云平臺(tái)數(shù)據(jù)后,可以通過clientId來判斷用戶是通過哪個(gè)應(yīng)用獲取平臺(tái)數(shù)據(jù)。
附圖說明
圖1為本發(fā)明具體實(shí)施方式的可識(shí)別調(diào)用云平臺(tái)數(shù)據(jù)的應(yīng)用的方法的流程圖;
圖2為本發(fā)明具體實(shí)施方式的可識(shí)別調(diào)用云平臺(tái)數(shù)據(jù)的應(yīng)用的系統(tǒng)框圖;標(biāo)號(hào)說明:
1、預(yù)設(shè)模塊;2、發(fā)送模塊;3、第一判斷模塊;4、第二判斷模塊;5、第一返回模塊;6、獲取模塊。
具體實(shí)施方式
為詳細(xì)說明本發(fā)明的技術(shù)內(nèi)容、所實(shí)現(xiàn)目的及效果,以下結(jié)合實(shí)施方式并配合附圖予以說明。
本發(fā)明最關(guān)鍵的構(gòu)思在于:每個(gè)應(yīng)用都有一個(gè)客戶端標(biāo)識(shí),這樣可以通過clientId來判斷用戶是通過哪個(gè)應(yīng)用獲取平臺(tái)數(shù)據(jù)。
請(qǐng)參照?qǐng)D1,一種可識(shí)別調(diào)用云平臺(tái)數(shù)據(jù)的應(yīng)用的方法,包括如下步驟:
在oauth平臺(tái)預(yù)設(shè)應(yīng)用對(duì)應(yīng)的客戶端標(biāo)識(shí);
應(yīng)用通過HTTP的方式發(fā)送客戶端標(biāo)識(shí)、用戶的用戶名和密碼至oauth平臺(tái);
判斷oauth平臺(tái)接收的客戶端標(biāo)識(shí)是否有效;
若判斷客戶端標(biāo)識(shí)有效,則判斷用戶名和密碼是否正確;
若判斷用戶名和密碼正確,則返回用戶的用戶ID、用戶會(huì)話標(biāo)識(shí)和用戶會(huì)話標(biāo)識(shí)秘鑰至客戶端;
客戶端使用用戶會(huì)話標(biāo)識(shí)秘鑰通過應(yīng)用登錄云平臺(tái)獲取數(shù)據(jù)。
進(jìn)一步的,上述的可識(shí)別調(diào)用云平臺(tái)數(shù)據(jù)的應(yīng)用的方法中,步驟“判斷oauth平臺(tái)接收的客戶端標(biāo)識(shí)是否有效”后還包括步驟:若判斷客戶端標(biāo)識(shí)無效,則返回錯(cuò)誤信息至客戶端;
步驟“判斷用戶名和密碼是否正確”后還包括步驟:若不正確,則返回錯(cuò)誤信息至客戶端。
進(jìn)一步的,上述的可識(shí)別調(diào)用云平臺(tái)數(shù)據(jù)的應(yīng)用的方法中,步驟“客戶端使用用戶會(huì)話標(biāo)識(shí)秘鑰通過應(yīng)用登錄云平臺(tái)獲取數(shù)據(jù)”具體為:客戶端通過應(yīng)用向云平臺(tái)發(fā)送客戶端標(biāo)識(shí)、用戶會(huì)話標(biāo)識(shí)秘鑰和接口名以及接口所需的參數(shù),進(jìn)而登錄云平臺(tái)獲取數(shù)據(jù)。
請(qǐng)參照?qǐng)D2,一種可識(shí)別調(diào)用云平臺(tái)數(shù)據(jù)的應(yīng)用的系統(tǒng),包括:
預(yù)設(shè)模塊1,用于在oauth平臺(tái)預(yù)設(shè)應(yīng)用對(duì)應(yīng)的客戶端標(biāo)識(shí);
發(fā)送模塊2,用于通過HTTP的方式發(fā)送客戶端標(biāo)識(shí)、用戶的用戶名和密碼至oauth平臺(tái);
第一判斷模塊3,用于判斷oauth平臺(tái)接收的客戶端標(biāo)識(shí)是否有效;
第二判斷模塊4,用于若判斷客戶端標(biāo)識(shí)有效,判斷用戶名和密碼是否正確;
第一返回模塊5,用于若第一判斷模塊判斷用戶名和密碼正確,則返回用戶的用戶ID、用戶會(huì)話標(biāo)識(shí)和用戶會(huì)話標(biāo)識(shí)秘鑰至客戶端;
獲取模塊6,用于使用用戶會(huì)話標(biāo)識(shí)秘鑰通過應(yīng)用登錄云平臺(tái)獲取數(shù)據(jù)。
進(jìn)一步的,上述的可識(shí)別調(diào)用云平臺(tái)數(shù)據(jù)的應(yīng)用的系統(tǒng),還包括:第二返回模塊,用于若判斷客戶端標(biāo)識(shí)無效,則返回錯(cuò)誤信息至客戶端;第三返回模塊,用于若判斷用戶名和密碼不正確,則返回錯(cuò)誤信息至客戶端。
進(jìn)一步的,上述的可識(shí)別調(diào)用云平臺(tái)數(shù)據(jù)的應(yīng)用的系統(tǒng),還包括獲取模塊,用于通過應(yīng)用向云平臺(tái)發(fā)送客戶端標(biāo)識(shí)、用戶會(huì)話標(biāo)識(shí)秘鑰和接口名以及接口所需的參數(shù),進(jìn)而登錄云平臺(tái)獲取數(shù)據(jù)。
上述的可識(shí)別調(diào)用云平臺(tái)數(shù)據(jù)的應(yīng)用的方法及系統(tǒng)中,每個(gè)應(yīng)用都有一個(gè)客戶端標(biāo)識(shí)(clientId),每個(gè)人通過不同的應(yīng)用獲取到的用戶會(huì)話標(biāo)識(shí)(AccessToken)和用戶會(huì)話標(biāo)識(shí)秘鑰(AccessTokenKey)都是不一樣的,這樣可以通過clientId來判斷用戶是通過哪個(gè)應(yīng)用獲取云平臺(tái)數(shù)據(jù)。
實(shí)施例1
一種可識(shí)別調(diào)用云平臺(tái)數(shù)據(jù)的應(yīng)用的方法,包括如下步驟:
預(yù)設(shè)應(yīng)用在oauth平臺(tái)的客戶端標(biāo)識(shí);
應(yīng)用通過HTTP的方式發(fā)送客戶端標(biāo)識(shí)、用戶的用戶名和密碼至oauth平臺(tái);
判斷oauth平臺(tái)接收的客戶端標(biāo)識(shí)是否有效;
若確定客戶端標(biāo)識(shí)無效,則返回錯(cuò)誤信息至客戶端。
若確定客戶端標(biāo)識(shí)有效,判斷用戶名和密碼是否正確;
若不正確返回錯(cuò)誤信息至客戶端,若正確返回用戶的用戶ID、用戶會(huì)話標(biāo)識(shí)和用戶會(huì)話標(biāo)識(shí)秘鑰至客戶端。
客戶端向oauth平臺(tái)發(fā)送客戶端標(biāo)識(shí)、用戶會(huì)話標(biāo)識(shí)秘鑰和接口名以及接口所需的參數(shù),進(jìn)而獲取oauth平臺(tái)的數(shù)據(jù)。
本發(fā)明的具體框架如下:
前端通過HTTP模式調(diào)用oauth平臺(tái),oauth平臺(tái)校驗(yàn)完相關(guān)信息后訪問各個(gè)組件的接口,各個(gè)組件訪問數(shù)據(jù)庫及緩存,獲得相關(guān)數(shù)據(jù)后返回到給前端。
訪問oauth平臺(tái):
每個(gè)應(yīng)用在訪問平臺(tái)的時(shí)候通過該應(yīng)用的客戶端標(biāo)識(shí)(clientId)和用戶的用戶名、密碼通過HTTP的方式來訪問oauth平臺(tái)來獲取用戶相關(guān)信息。
當(dāng)數(shù)據(jù)到達(dá)oauth平臺(tái)層的時(shí)候平臺(tái)會(huì)去校驗(yàn)clientId是否有效,當(dāng)其有效之后去判斷用戶名或密碼是否正確,如校驗(yàn)不通過,則直接返回錯(cuò)誤信息至客戶端,
校驗(yàn)通過后返回用戶的用戶ID(userId)、用戶會(huì)話標(biāo)識(shí)(AccessToken)、和用戶會(huì)話標(biāo)識(shí)秘鑰(AccessTokenKey)。
訪問云平臺(tái):
用戶通過應(yīng)用去獲取云平臺(tái)的數(shù)據(jù)的時(shí)候只要將clientId、AccessTokenKey(用戶會(huì)話標(biāo)識(shí)秘鑰)和接口名以及接口所需的參數(shù)就可以獲取數(shù)據(jù)了,
當(dāng)疏導(dǎo)到達(dá)平臺(tái)層的時(shí)候進(jìn)行入?yún)⑿r?yàn),sign是前端將入?yún)⒂肁ccessToken進(jìn)行加密算出的一個(gè)哈希值來校驗(yàn)入?yún)⒌?,入?yún)⑿r?yàn)失敗則直接返回錯(cuò)誤信息給前端,入?yún)⑿r?yàn)成功后執(zhí)行接口,接口執(zhí)行失敗返回錯(cuò)誤信息給前端,接口執(zhí)行成功返回結(jié)果集。每個(gè)應(yīng)用都有一個(gè)clientId,每個(gè)人通過不同的應(yīng)用獲取到的AccessToken和AccessTokenKey都是不一樣的,這樣可以通過clientId來判斷用戶是通過哪個(gè)應(yīng)用獲取平臺(tái)數(shù)據(jù)。
本發(fā)明可應(yīng)用到企盟家APP中。企盟家客戶端通過客戶端自身綁定的clientId來訪問oauth接口,傳入用戶名和密碼參數(shù),云平臺(tái)驗(yàn)證其身份合法后返回用戶的會(huì)話標(biāo)識(shí)(AccessToken)、會(huì)話標(biāo)識(shí)秘鑰(AccessTokenKey)、用戶ID(UserId)、刷新票據(jù)標(biāo)識(shí)(refreshToken)和過期時(shí)間(expiresIn)。客戶端在獲取到這些數(shù)據(jù)之后,通過客戶端標(biāo)識(shí)(clientId)、會(huì)話標(biāo)識(shí)秘鑰(AccessTokenKey)、sign、接口名稱、接口所需入?yún)碓L問外部接口,當(dāng)輸入的所有參數(shù)都校驗(yàn)通過之后就可以獲取到相關(guān)的接口數(shù)據(jù)。云平臺(tái)的管理后臺(tái)也可以明確的知道接口被各個(gè)應(yīng)用的調(diào)用情況,各個(gè)應(yīng)用的使用情況以及用戶所使用的各個(gè)應(yīng)用的版本信息。
實(shí)施例2
一種可識(shí)別調(diào)用云平臺(tái)數(shù)據(jù)的應(yīng)用的系統(tǒng),包括:
預(yù)設(shè)模塊,用于在oauth平臺(tái)預(yù)設(shè)應(yīng)用對(duì)應(yīng)的客戶端標(biāo)識(shí);
發(fā)送模塊,用于通過HTTP的方式發(fā)送客戶端標(biāo)識(shí)、用戶的用戶名和密碼至oauth平臺(tái);
第一判斷模塊,用于判斷oauth平臺(tái)接收的客戶端標(biāo)識(shí)是否有效;
第二判斷模塊,用于若判斷客戶端標(biāo)識(shí)有效,判斷用戶名和密碼是否正確;
第一返回模塊,用于若第一判斷模塊判斷用戶名和密碼正確,則返回用戶的用戶ID、用戶會(huì)話標(biāo)識(shí)和用戶會(huì)話標(biāo)識(shí)秘鑰至客戶端;
獲取模塊:用于使用用戶會(huì)話標(biāo)識(shí)秘鑰通過應(yīng)用登錄云平臺(tái)獲取數(shù)據(jù)。
進(jìn)一步的,上述的可識(shí)別調(diào)用云平臺(tái)數(shù)據(jù)的應(yīng)用的系統(tǒng),還包括:
第二返回模塊,用于若判斷客戶端標(biāo)識(shí)無效,則返回錯(cuò)誤信息至客戶端
第三返回模塊,用于若判斷用戶名和密碼不正確,則返回錯(cuò)誤信息至客戶端。
進(jìn)一步的,上述的可識(shí)別調(diào)用云平臺(tái)數(shù)據(jù)的應(yīng)用的系統(tǒng),還包括獲取模塊,用于通過應(yīng)用向云平臺(tái)發(fā)送客戶端標(biāo)識(shí)、用戶會(huì)話標(biāo)識(shí)秘鑰和接口名以及接口所需的參數(shù),進(jìn)而登錄云平臺(tái)獲取數(shù)據(jù)。
以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等同變換,或直接或間接運(yùn)用在相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。