欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種第三方賬號(hào)授權(quán)方法、設(shè)備、服務(wù)器及其系統(tǒng)的制作方法

文檔序號(hào):10538687閱讀:353來源:國知局
一種第三方賬號(hào)授權(quán)方法、設(shè)備、服務(wù)器及其系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開一種第三方賬號(hào)授權(quán)方法、設(shè)備、服務(wù)器及其系統(tǒng),方法包括:響應(yīng)第三方應(yīng)用的授權(quán)請(qǐng)求;如果設(shè)有預(yù)先綁定的用戶賬號(hào),則獲取關(guān)于所述預(yù)先綁定的用戶賬號(hào)的授權(quán)碼;將所述授權(quán)碼發(fā)送至用戶中心,從所述用戶中心獲取關(guān)于所述授權(quán)碼的訪問令牌;將所述訪問令牌和用戶賬號(hào)發(fā)送到服務(wù)器,從所述服務(wù)器獲取在所述訪問令牌驗(yàn)證通過后的關(guān)于所述用戶賬號(hào)的用戶信息;將所述用戶信息回調(diào)至所述第三方應(yīng)用。本發(fā)明通過提供一種能夠?qū)㈩A(yù)先綁定的賬號(hào)授權(quán)給第三方應(yīng)用使用的方案,使得第三方應(yīng)用能夠獲取該安全賬號(hào)的授權(quán),從而使得第三方應(yīng)用能夠采用該安全賬號(hào)進(jìn)行各種敏感操作,例如支付付費(fèi)等。
【專利說明】
_種第三方賬號(hào)授權(quán)方法、設(shè)備、服務(wù)器及其系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及賬號(hào)管理相關(guān)技術(shù)領(lǐng)域,特別是一種第三方賬號(hào)授權(quán)方法、設(shè)備、服務(wù) 器及其系統(tǒng)。
【背景技術(shù)】
[0002] 智能手機(jī),是指像個(gè)人電腦一樣,具有獨(dú)立的操作系統(tǒng),獨(dú)立的運(yùn)行空間,可以由 用戶自行安裝軟件、游戲、導(dǎo)航等第三方服務(wù)商提供的程序,并可以通過移動(dòng)通訊網(wǎng)絡(luò)來實(shí) 現(xiàn)無線網(wǎng)絡(luò)接入的手機(jī)類型。
[0003] 智能手機(jī)中所運(yùn)行的軟件稱為應(yīng)用(App),通過App能夠?yàn)橹悄苁謾C(jī)帶來非常多 的功能。
[0004] 用戶賬號(hào)是用于標(biāo)識(shí)用戶身份,因此如何保證用戶賬號(hào)的安全非常重要?,F(xiàn)有技 術(shù)一般采用的是將用戶賬號(hào)保存到服務(wù)器,用戶在登陸時(shí)通過用戶密碼進(jìn)行驗(yàn)證。
[0005] 然而,當(dāng)用戶賬號(hào)過多時(shí),其很難保證其賬號(hào)的安全性,因此App很難采用賬號(hào)進(jìn) 行敏感操作,例如支付付費(fèi)等。

【發(fā)明內(nèi)容】

[0006] 基于此,有必要針對(duì)現(xiàn)有技術(shù)難以保證賬號(hào)的安全性的技術(shù)問題,提供一種第三 方賬號(hào)授權(quán)方法、設(shè)備、服務(wù)器及其系統(tǒng)。
[0007] 本發(fā)明提供一種第三方賬號(hào)授權(quán)方法,包括:
[0008] 第三方授權(quán)響應(yīng)步驟,包括:響應(yīng)第三方應(yīng)用的授權(quán)請(qǐng)求;
[0009] 授權(quán)碼獲取步驟,包括:如果設(shè)有預(yù)先綁定的用戶賬號(hào),則獲取關(guān)于所述預(yù)先綁定 的用戶賬號(hào)的授權(quán)碼;
[0010] 訪問令牌獲取步驟,包括:將所述授權(quán)碼發(fā)送至用戶中心,從所述用戶中心獲取關(guān) 于所述授權(quán)碼的訪問令牌;
[0011] 用戶信息獲取步驟,包括:將所述訪問令牌和用戶賬號(hào)發(fā)送到服務(wù)器,從所述服務(wù) 器獲取在所述訪問令牌驗(yàn)證通過后的關(guān)于所述用戶賬號(hào)的用戶信息;
[0012] 信息回調(diào)步驟,包括:將所述用戶信息回調(diào)至所述第三方應(yīng)用。
[0013] 進(jìn)一步的,所述獲取關(guān)于所述預(yù)先綁定的用戶賬號(hào)的授權(quán)碼,具體包括:
[0014] 獲取所述第三方應(yīng)用的應(yīng)用標(biāo)識(shí)和應(yīng)用密鑰;
[0015] 對(duì)所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰進(jìn)行驗(yàn)證,如果驗(yàn)證通過,獲取關(guān)于所述預(yù)先綁 定的用戶賬號(hào)的授權(quán)碼。
[0016] 進(jìn)一步的,所述授權(quán)碼獲取步驟,還包括:如果沒有預(yù)先綁定的用戶賬號(hào),則:
[0017] 獲取所述第三方應(yīng)用的應(yīng)用標(biāo)識(shí)和應(yīng)用密鑰;
[0018] 將所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰發(fā)送到服務(wù)器;
[0019] 顯示所述服務(wù)器對(duì)所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰進(jìn)行驗(yàn)證后所返回的登陸頁 面;
[0020] 獲取所述服務(wù)器對(duì)用戶賬號(hào)和用戶密碼驗(yàn)證通過后所返回的關(guān)于所述用戶賬號(hào) 的授權(quán)碼,執(zhí)行訪問令牌獲取步驟,所述用戶賬號(hào)和所述用戶密碼由所述服務(wù)器通過所述 登陸頁面接收得到。
[0021] 進(jìn)一步的,所述訪問令牌獲取步驟中,獲取所述訪問令牌后與所述用戶賬號(hào)關(guān)聯(lián) 保存;
[0022] 所述第三方授權(quán)響應(yīng)步驟,具體包括:
[0023] 當(dāng)響應(yīng)于第三方應(yīng)用的授權(quán)請(qǐng)求時(shí),如果保存有與所述用戶賬號(hào)關(guān)聯(lián)保存的訪問 令牌,則直接執(zhí)行所述用戶信息獲取步驟,否則執(zhí)行所述授權(quán)碼獲取步驟。
[0024] 進(jìn)一步的,所述信息回調(diào)步驟,具體包括:
[0025] 將所述用戶信息進(jìn)行哈希封裝后回調(diào)至所述第三方應(yīng)用。
[0026] 進(jìn)一步的,所述第三方授權(quán)響應(yīng)步驟,具體包括:顯示授權(quán)頁面,響應(yīng)由所述授權(quán) 頁面所觸發(fā)的第三方應(yīng)用的授權(quán)請(qǐng)求,所述授權(quán)頁面采用Java基于安卓系統(tǒng)生成,且所述 授權(quán)頁面的顯示資源來自以Java庫形式保存的至少一個(gè)資源文件,且每個(gè)所述資源文件 的資源文件標(biāo)識(shí)采用Java的反射機(jī)制從安卓系統(tǒng)所提供的R文件中獲取。
[0027] 本發(fā)明提供一種第三方賬號(hào)授權(quán)方法,包括:
[0028] 訪問令牌接收步驟,包括:接收到來自設(shè)備的訪問令牌和用戶賬號(hào),所述訪問令牌 由所述設(shè)備響應(yīng)第三方應(yīng)用的授權(quán)請(qǐng)求,在設(shè)有預(yù)先綁定的用戶賬號(hào)時(shí)獲取關(guān)于所述預(yù)先 綁定的用戶賬號(hào)的授權(quán)碼,并將所述授權(quán)碼發(fā)送至用戶中心后,從所述用戶中心獲取得到 關(guān)于所述授權(quán)碼的訪問令牌;
[0029] 用戶信息發(fā)送步驟,包括:對(duì)所述訪問令牌進(jìn)行驗(yàn)證,如果所述訪問令牌驗(yàn)證通 過,則將關(guān)于所述用戶賬號(hào)的用戶信息發(fā)送至所述設(shè)備,所述用戶信息由所述設(shè)備用于回 調(diào)至所述第三方應(yīng)用。
[0030] 進(jìn)一步的,還包括,授權(quán)碼發(fā)送步驟;
[0031] 所述授權(quán)碼發(fā)送步驟,包括:
[0032] 接收到設(shè)備判斷沒有與所述設(shè)備綁定的用戶賬號(hào)時(shí),所發(fā)送的應(yīng)用標(biāo)識(shí)和應(yīng)用密 鑰,所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰為所述設(shè)備所獲取的所述第三方應(yīng)用的應(yīng)用標(biāo)識(shí)和應(yīng)用 密鑰;
[0033] 如果所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰驗(yàn)證通過則向所述設(shè)備返回登陸頁面,并通過 所述登陸頁面獲取用戶賬號(hào)和用戶密碼;
[0034] 如果對(duì)所述用戶賬號(hào)和所述用戶密碼驗(yàn)證通過,則向所述設(shè)備返回關(guān)于所述用戶 賬號(hào)的授權(quán)碼。
[0035] 本發(fā)明提供一種第三方賬號(hào)授權(quán)設(shè)備,包括:
[0036] 第三方授權(quán)響應(yīng)模塊,用于:響應(yīng)第三方應(yīng)用的授權(quán)請(qǐng)求;
[0037] 授權(quán)碼獲取模塊,用于:如果設(shè)有預(yù)先綁定的用戶賬號(hào),則獲取關(guān)于所述預(yù)先綁定 的用戶賬號(hào)的授權(quán)碼;
[0038] 訪問令牌獲取模塊,用于:將所述授權(quán)碼發(fā)送至用戶中心,從所述用戶中心獲取關(guān) 于所述授權(quán)碼的訪問令牌;
[0039] 用戶信息獲取模塊,用于:將所述訪問令牌和用戶賬號(hào)發(fā)送到服務(wù)器,從所述服務(wù) 器獲取在所述訪問令牌驗(yàn)證通過后的關(guān)于所述用戶賬號(hào)的用戶信息;
[0040] 信息回調(diào)模塊,用于:將所述用戶信息回調(diào)至所述第三方應(yīng)用。
[0041] 進(jìn)一步的,所述獲取關(guān)于所述預(yù)先綁定的用戶賬號(hào)的授權(quán)碼,具體用于:
[0042] 獲取所述第三方應(yīng)用的應(yīng)用標(biāo)識(shí)和應(yīng)用密鑰;
[0043] 對(duì)所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰進(jìn)行驗(yàn)證,如果驗(yàn)證通過,獲取關(guān)于所述預(yù)先綁 定的用戶賬號(hào)的授權(quán)碼。
[0044] 進(jìn)一步的,所述授權(quán)碼獲取模塊,還用于:如果沒有預(yù)先綁定的用戶賬號(hào),則:
[0045] 獲取所述第三方應(yīng)用的應(yīng)用標(biāo)識(shí)和應(yīng)用密鑰;
[0046] 將所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰發(fā)送到服務(wù)器;
[0047] 顯示所述服務(wù)器對(duì)所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰進(jìn)行驗(yàn)證后所返回的登陸頁 面;
[0048] 獲取所述服務(wù)器對(duì)用戶賬號(hào)和用戶密碼驗(yàn)證通過后所返回的關(guān)于所述用戶賬號(hào) 的授權(quán)碼,執(zhí)行訪問令牌獲取模塊,所述用戶賬號(hào)和所述用戶密碼由所述服務(wù)器通過所述 登陸頁面接收得到。
[0049] 進(jìn)一步的,所述訪問令牌獲取模塊中,獲取所述訪問令牌后與所述用戶賬號(hào)關(guān)聯(lián) 保存;
[0050] 所述第三方授權(quán)響應(yīng)模塊,具體用于:
[0051] 當(dāng)響應(yīng)于第三方應(yīng)用的授權(quán)請(qǐng)求時(shí),如果保存有與所述用戶賬號(hào)關(guān)聯(lián)保存的訪問 令牌,則直接執(zhí)行所述用戶信息獲取模塊,否則執(zhí)行所述授權(quán)碼獲取模塊。
[0052] 進(jìn)一步的,所述信息回調(diào)模塊,具體用于:
[0053] 將所述用戶信息進(jìn)行哈希封裝后回調(diào)至所述第三方應(yīng)用。
[0054] 進(jìn)一步的,所述第三方授權(quán)響應(yīng)模塊,具體用于:顯示授權(quán)頁面,響應(yīng)由所述授權(quán) 頁面所觸發(fā)的第三方應(yīng)用的授權(quán)請(qǐng)求,所述授權(quán)頁面采用Java基于安卓系統(tǒng)生成,且所述 授權(quán)頁面的顯示資源來自以Java庫形式保存的至少一個(gè)資源文件,且每個(gè)所述資源文件 的資源文件標(biāo)識(shí)采用Java的反射機(jī)制從安卓系統(tǒng)所提供的R文件中獲取。
[0055] 本發(fā)明提供一種第三方賬號(hào)授權(quán)服務(wù)器,包括:
[0056] 訪問令牌接收模塊,用于:接收到來自設(shè)備的訪問令牌和用戶賬號(hào),所述訪問令牌 由所述設(shè)備響應(yīng)第三方應(yīng)用的授權(quán)請(qǐng)求,在設(shè)有預(yù)先綁定的用戶賬號(hào)時(shí)獲取關(guān)于所述預(yù)先 綁定的用戶賬號(hào)的授權(quán)碼,并將所述授權(quán)碼發(fā)送至用戶中心后,從所述用戶中心獲取得到 關(guān)于所述授權(quán)碼的訪問令牌;
[0057] 用戶信息發(fā)送模塊,用于:對(duì)所述訪問令牌進(jìn)行驗(yàn)證,如果所述訪問令牌驗(yàn)證通 過,則將關(guān)于所述用戶賬號(hào)的用戶信息發(fā)送至所述設(shè)備,所述用戶信息由所述設(shè)備用于回 調(diào)至所述第三方應(yīng)用。
[0058] 進(jìn)一步的,還包括,授權(quán)碼發(fā)送模塊;
[0059] 所述授權(quán)碼發(fā)送模塊,用于:
[0060] 接收到設(shè)備判斷沒有與所述設(shè)備綁定的用戶賬號(hào)時(shí),所發(fā)送的應(yīng)用標(biāo)識(shí)和應(yīng)用密 鑰,所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰為所述設(shè)備所獲取的所述第三方應(yīng)用的應(yīng)用標(biāo)識(shí)和應(yīng)用 密鑰;
[0061] 如果所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰驗(yàn)證通過則向所述設(shè)備返回登陸頁面,并通過 所述登陸頁面獲取用戶賬號(hào)和用戶密碼;
[0062] 如果對(duì)所述用戶賬號(hào)和所述用戶密碼驗(yàn)證通過,則向所述設(shè)備返回關(guān)于所述用戶 賬號(hào)的授權(quán)碼。
[0063] 本發(fā)明提供一種第三方賬號(hào)授權(quán)系統(tǒng),包括:設(shè)備端和服務(wù)器端;
[0064] 所述設(shè)備端,包括:
[0065] 設(shè)備端第三方授權(quán)響應(yīng)模塊,用于:響應(yīng)第三方應(yīng)用的授權(quán)請(qǐng)求;
[0066] 設(shè)備端授權(quán)碼獲取模塊,用于:如果設(shè)有預(yù)先綁定的用戶賬號(hào),則獲取關(guān)于所述預(yù) 先綁定的用戶賬號(hào)的授權(quán)碼;
[0067] 設(shè)備端訪問令牌獲取模塊,用于:將所述授權(quán)碼發(fā)送至用戶中心,從所述用戶中心 獲取關(guān)于所述授權(quán)碼的訪問令牌;
[0068] 設(shè)備端用戶信息獲取模塊,用于:將所述訪問令牌和用戶賬號(hào)發(fā)送到服務(wù)器,從所 述服務(wù)器獲取關(guān)于所述用戶賬號(hào)的用戶信息;
[0069] 設(shè)備端信息回調(diào)模塊,用于:將所述用戶信息回調(diào)至所述第三方應(yīng)用;
[0070] 所述服務(wù)器端,包括:
[0071] 服務(wù)器端訪問令牌接收模塊,用于:接收到來自設(shè)備的訪問令牌和用戶賬號(hào);
[0072] 服務(wù)器端用戶信息發(fā)送模塊,用于:對(duì)所述訪問令牌進(jìn)行驗(yàn)證,如果所述訪問令牌 驗(yàn)證通過,則將關(guān)于所述用戶賬號(hào)的用戶信息發(fā)送至所述設(shè)備。
[0073] 本發(fā)明通過提供一種能夠?qū)㈩A(yù)先綁定的賬號(hào)授權(quán)給第三方應(yīng)用使用的方案,使得 第三方應(yīng)用能夠獲取該安全賬號(hào)的授權(quán),從而使得第三方應(yīng)用能夠采用該安全賬號(hào)進(jìn)行各 種敏感操作,例如支付付費(fèi)等。
【附圖說明】
[0074] 圖1為本發(fā)明應(yīng)用于設(shè)備的一種第三方賬號(hào)授權(quán)方法的工作流程圖;
[0075] 圖2為本發(fā)明應(yīng)用于服務(wù)器的一種第三方賬號(hào)授權(quán)方法的工作流程圖;
[0076] 圖3為本發(fā)明一種第三方賬號(hào)授權(quán)設(shè)備的結(jié)構(gòu)模塊圖;
[0077] 圖4為本發(fā)明最佳實(shí)施例的設(shè)備結(jié)構(gòu)示意圖;
[0078] 圖5為本發(fā)明一種第三方賬號(hào)授權(quán)服務(wù)器的結(jié)構(gòu)模塊圖;
[0079] 圖6為本發(fā)明最佳實(shí)施例的服務(wù)器結(jié)構(gòu)示意圖;
[0080] 圖7為本發(fā)明一種第三方賬號(hào)授權(quán)系統(tǒng)的結(jié)構(gòu)模塊圖;
[0081] 圖8為本發(fā)明的最佳實(shí)施例的針對(duì)預(yù)先綁定用戶賬號(hào)的設(shè)備的工作流程圖。
【具體實(shí)施方式】
[0082] 下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)的說明。
[0083] 如圖1所示為本發(fā)明一種第三方賬號(hào)授權(quán)方法的工作流程圖,包括:
[0084] 步驟S101,包括:響應(yīng)第三方應(yīng)用的授權(quán)請(qǐng)求;
[0085] 步驟S102,包括:如果設(shè)有預(yù)先綁定的用戶賬號(hào),則獲取關(guān)于所述預(yù)先綁定的用 戶賬號(hào)的授權(quán)碼;
[0086] 步驟S103,包括:將所述授權(quán)碼發(fā)送至用戶中心,從所述用戶中心獲取關(guān)于所述 授權(quán)碼的訪問令牌;
[0087] 步驟S104,包括:將所述訪問令牌和用戶賬號(hào)發(fā)送到服務(wù)器,從所述服務(wù)器獲取 在所述訪問令牌驗(yàn)證通過后的關(guān)于所述用戶賬號(hào)的用戶信息;
[0088] 步驟S105,包括:將所述用戶信息回調(diào)至所述第三方應(yīng)用。
[0089] 本發(fā)明的方法可以采用軟件開發(fā)工具包(Software Development Ki t,sdk)的形 式提供給軟件開發(fā)者。軟件開發(fā)者所開發(fā)的軟件應(yīng)用,即第三方應(yīng)用,通過調(diào)用sdk所提供 的函數(shù)請(qǐng)求授權(quán),觸發(fā)步驟S101,從而響應(yīng)授權(quán)請(qǐng)求。步驟S102中,獲取預(yù)先綁定的用戶賬 號(hào)的授權(quán)碼,并將該授權(quán)碼發(fā)送到用于實(shí)現(xiàn)對(duì)用戶信息的綜合管理的用戶中心,該用戶中 心可以與設(shè)備一體,也可以是與服務(wù)器一體,還可以是單獨(dú)設(shè)備。步驟S103中獲取到訪問 令牌,并通過訪問令牌發(fā)送到服務(wù)器,由于所發(fā)送的是訪問令牌,因此其能很好地隱藏授權(quán) 碼,避免授權(quán)碼被非法獲取。在步驟S104中,服務(wù)器對(duì)訪問令牌驗(yàn)證后即返回相關(guān)的用戶 信息,該用戶信息通過第三方應(yīng)用所提供的回調(diào)函數(shù)回調(diào)至第三方應(yīng)用。
[0090] 本發(fā)明由于采用的用戶賬號(hào)是預(yù)先綁定的,因此其安全性較高,從而使得第三方 應(yīng)用能夠采用該用戶賬號(hào)實(shí)現(xiàn)各種敏感操作,例如支付付費(fèi)等。
[0091] 在其中一個(gè)實(shí)施例中,所述獲取關(guān)于所述預(yù)先綁定的用戶賬號(hào)的授權(quán)碼,具體包 括:
[0092] 獲取所述第三方應(yīng)用的應(yīng)用標(biāo)識(shí)和應(yīng)用密鑰;
[0093] 對(duì)所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰進(jìn)行驗(yàn)證,如果驗(yàn)證通過,獲取關(guān)于所述預(yù)先綁 定的用戶賬號(hào)的授權(quán)碼。
[0094] 本實(shí)施例進(jìn)一步對(duì)第三方應(yīng)用的應(yīng)用標(biāo)識(shí)和應(yīng)用密鑰進(jìn)行驗(yàn)證,以保證該第三方 應(yīng)用具有相應(yīng)的權(quán)限以取得預(yù)先綁定的用戶賬號(hào)的授權(quán)碼,從而進(jìn)一步提高安全。
[0095] 在其中一個(gè)實(shí)施例中,所述步驟S102,還包括:如果沒有預(yù)先綁定的用戶賬號(hào), 則:
[0096] 獲取所述第三方應(yīng)用的應(yīng)用標(biāo)識(shí)和應(yīng)用密鑰;
[0097] 將所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰發(fā)送到服務(wù)器;
[0098] 顯示所述服務(wù)器對(duì)所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰進(jìn)行驗(yàn)證后所返回的登陸頁 面;
[0099] 獲取所述服務(wù)器對(duì)用戶賬號(hào)和用戶密碼驗(yàn)證通過后所返回的關(guān)于所述用戶賬號(hào) 的授權(quán)碼,執(zhí)行步驟S103,所述用戶賬號(hào)和所述用戶密碼由所述服務(wù)器通過所述登陸頁面 接收得到。
[0100] 本實(shí)施例增加對(duì)沒有預(yù)先綁定用戶賬號(hào)的支持,即如果用戶采用的是一個(gè)預(yù)先綁 定有用戶賬號(hào)的設(shè)備,則其可以直接在設(shè)備中獲取授權(quán)碼,然而,如果用戶沒有采用預(yù)先綁 定有用戶賬號(hào)的設(shè)備,則其可以通過設(shè)備登陸服務(wù)器進(jìn)而獲取授權(quán)碼,服務(wù)器對(duì)第三方應(yīng) 用的應(yīng)用標(biāo)識(shí)和應(yīng)用密鑰進(jìn)行驗(yàn)證以確保其具有足夠權(quán)限。
[0101] 在其中一個(gè)實(shí)施例中,所述步驟S103中,獲取所述訪問令牌后與所述用戶賬號(hào)關(guān) 聯(lián)保存;
[0102] 所述步驟S101,具體包括:
[0103] 當(dāng)響應(yīng)于第三方應(yīng)用的授權(quán)請(qǐng)求時(shí),如果保存有與所述用戶賬號(hào)關(guān)聯(lián)保存的訪問 令牌,則直接執(zhí)行所述步驟S104,否則執(zhí)行所述步驟S102。
[0104] 本實(shí)施例中,針對(duì)已經(jīng)取得過用戶信息的用戶賬號(hào),可以直接采用已有的訪問令 牌,從而減少步驟流程,提高用戶信息的獲取速度,使得用戶獲得更好的用戶體驗(yàn)。
[0105] 在其中一個(gè)實(shí)施例中,所述步驟S105,具體包括:
[0106] 將所述用戶信息進(jìn)行哈希封裝后回調(diào)至所述第三方應(yīng)用。
[0107] 本實(shí)施例通過哈希封裝進(jìn)行回調(diào),從而提高回調(diào)速度。優(yōu)選地,采用哈希地圖,即 HashMap方式對(duì)用戶信息進(jìn)行封裝。
[0108] 在其中一個(gè)實(shí)施例中,所述步驟S101,具體包括:顯示授權(quán)頁面,響應(yīng)由所述授權(quán) 頁面所觸發(fā)的第三方應(yīng)用的授權(quán)請(qǐng)求,所述授權(quán)頁面采用Java基于安卓系統(tǒng)生成,且所述 授權(quán)頁面的顯示資源來自以Java庫形式保存的至少一個(gè)資源文件,且每個(gè)所述資源文件 的資源文件標(biāo)識(shí)采用Java的反射機(jī)制從安卓系統(tǒng)所提供的R文件中獲取。
[0109] 安卓系統(tǒng),即Android系統(tǒng),當(dāng)采用java進(jìn)行開發(fā)時(shí),其中有一個(gè)R文件,即 R. Java文件,用于保存資源文件,然而,由于同一個(gè)jar包中不能同時(shí)具有兩個(gè)R文件,因 此,本實(shí)施例的資源文件以1 ibrary的形式提供,且將原R文件中,所有資源文件的資源文 件標(biāo)識(shí),即資源文件id采用反射機(jī)制來取得,從而使得該sdk能夠順利的被Java開發(fā)者調(diào) 用。
[0110] 如圖2所示為本發(fā)明一種第三方賬號(hào)授權(quán)方法的工作流程圖,包括:
[0111] 步驟S201,包括:接收到來自設(shè)備的訪問令牌和用戶賬號(hào),所述訪問令牌由所述 設(shè)備響應(yīng)第三方應(yīng)用的授權(quán)請(qǐng)求,在設(shè)有預(yù)先綁定的用戶賬號(hào)時(shí)獲取關(guān)于所述預(yù)先綁定的 用戶賬號(hào)的授權(quán)碼,并將所述授權(quán)碼發(fā)送至用戶中心后,從所述用戶中心獲取得到關(guān)于所 述授權(quán)碼的訪問令牌;
[0112] 步驟S202,包括:對(duì)所述訪問令牌進(jìn)行驗(yàn)證,如果所述訪問令牌驗(yàn)證通過,則將關(guān) 于所述用戶賬號(hào)的用戶信息發(fā)送至所述設(shè)備,所述用戶信息由所述設(shè)備用于回調(diào)至所述第 三方應(yīng)用。
[0113] 本實(shí)施例應(yīng)用于服務(wù)器中,服務(wù)器對(duì)訪問令牌進(jìn)行驗(yàn)證后返回用戶賬號(hào)的用戶信 息。
[0114] 在其中一個(gè)實(shí)施例中,還包括,授權(quán)碼發(fā)送步驟;
[0115] 所述授權(quán)碼發(fā)送步驟,包括:
[0116] 接收到設(shè)備判斷沒有與所述設(shè)備綁定的用戶賬號(hào)時(shí),所發(fā)送的應(yīng)用標(biāo)識(shí)和應(yīng)用密 鑰,所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰為所述設(shè)備所獲取的所述第三方應(yīng)用的應(yīng)用標(biāo)識(shí)和應(yīng)用 密鑰;
[0117] 如果所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰驗(yàn)證通過則向所述設(shè)備返回登陸頁面,并通過 所述登陸頁面獲取用戶賬號(hào)和用戶密碼;
[0118] 如果對(duì)所述用戶賬號(hào)和所述用戶密碼驗(yàn)證通過,則向所述設(shè)備返回關(guān)于所述用戶 賬號(hào)的授權(quán)碼。
[0119] 本實(shí)施例的步驟處理了用戶在采用不預(yù)先綁定用戶賬號(hào)的設(shè)備時(shí)的登陸請(qǐng)求,并 返回相應(yīng)的授權(quán)碼。
[0120] 如圖8所示為本發(fā)明的最佳實(shí)施例的針對(duì)預(yù)先綁定用戶賬號(hào)的設(shè)備的工作流程 圖,設(shè)備為手機(jī),具體包括:
[0121] 開發(fā)者采用本發(fā)明所提供的sdk時(shí),首先需要在服務(wù)器申請(qǐng)授權(quán)的應(yīng)用標(biāo)識(shí) (appid)、應(yīng)用密鑰(appsecret)、openid 和 secret_key〇
[0122] 步驟S801,將appid,appsecret傳給置于手機(jī)rom的代理agent,如果appid與 appsecret驗(yàn)證成功,直接打開登錄界面,進(jìn)行授權(quán)登錄,登錄成功將獲得由agent返回的 授權(quán)碼(code),具體來說:
[0123] 將 openid 與 secret_key 傳給 agent 的 GuideActivity,根據(jù) startActivityForResult 去啟動(dòng)內(nèi)置在手機(jī) rom 里面的 com. letv. android, agent. GuideActivity頁面,如果該頁面授權(quán)成功會(huì)在onActivityResult中將code通過Intent 回傳,取到code之后,調(diào)用getAccessToken(code)來換取用戶的accesstoken ;
[0124] 步驟S802,通過http發(fā)送到用戶中心,用戶中心再根據(jù)該授權(quán)碼,把對(duì)應(yīng)該授權(quán) 碼的用戶的訪問令牌(accesstoken)返回,具體來說:
[0125] 將開發(fā)者傳入的appid、appsecrect、授權(quán)碼code、回調(diào)地址組合,成為一個(gè)json 字串,通過HttpClient的POST發(fā)送getAccessTokenFromServer請(qǐng)求到用戶中心,然后用 RequestCallback的接口回調(diào)從用戶中心取到返回的Json字段,對(duì)其用JSONObject解析, 取到 accesstoken、uid 字段;
[0126] 步驟S803,通過accesstoken,取得用戶的賬戶信息,具體來說:
[0127] 將 accesstoken、uid 傳入 getUserBasicInfo 方法,在 getUserBasicInfo 方法中, 將appid、uid、accesstoken、uid組合成一個(gè)json字符串,同理根據(jù)HttpClient的Get發(fā)送 getUserBasicInfoFromServer請(qǐng)求,取得用戶的基本信息,返回信息包括:uid、nickname、 accesstoken、file_300*300、file_200*200、file_70*70、file_50*50。
[0128] 然后將這些信息組合到回調(diào)接口中;
[0129] 步驟S804,取得用戶信息之后,通過android的shareprefer,將accesstoken 以及uid、nickname等存儲(chǔ)到本地存儲(chǔ),將uid作為主鍵,如果是根據(jù)歷史直接點(diǎn)擊登錄, 則會(huì)取到所有shareprefer中的用戶信息,進(jìn)行展示,然后根據(jù)該用戶信息取到用戶的 accesstoken,然后執(zhí)行步驟S803,取到用戶信息,將信息回調(diào)出去。
[0130] 步驟S805,通過sdk提供的回調(diào)接口,將信息回傳給第三方應(yīng)用進(jìn)行賬戶信息處 理,回調(diào)接口將用戶信息封裝成HashMap,然后開發(fā)者直接可以直接對(duì)HashMap對(duì)象進(jìn)行操 作,具體來說:
[0131] 其封裝格式為:
[0132] HashMap<String, 0bject>userInfo = new HashMap<String, 0bject>()
[0133] userlnfo. put ("letv_uid",/* 用戶 uid*/);
[0134] userlnfo. put ("nickname",/* 昵稱 */);
[0135] userlnfo. put (〃access_token〃,/氺授權(quán) access token*/);
[0136] userlnfo. put (〃file_3〇0*3〇0〃,/*3〇0*3〇0 頭像 */);
[0137] userlnfo. put (〃file_2〇0*2〇0〃,/*2〇0*2〇0 頭像 */);
[0138] userlnfo. put ("file_70*70",/*70*70 頭像 */);
[0139] userlnfo. put ("file_50*50",/*50*50 頭像 */);
[0140] 然后將該HashMap對(duì)象直接回調(diào)給開發(fā)者。
[0141] 本發(fā)明的最佳實(shí)施例的針對(duì)非預(yù)先綁定用戶賬號(hào)的設(shè)備,具體包括:
[0142] 調(diào)用html5的登錄頁面,輸入賬戶跟密碼,點(diǎn)擊登錄,登錄成功后在回調(diào)地址里 會(huì)回傳授權(quán)碼code,然后后續(xù)與針對(duì)預(yù)先綁定用戶賬號(hào)的設(shè)備的工作流程相同,即與步驟 S802-S805 -致,其登陸頁面的生成,具體如下:
[0143] 根據(jù)appid,appsecret及回調(diào)地址,拼出來一個(gè)調(diào)起登錄的url,其格式如下:
[0144] ''https://aaa.xxx.com/oauthopen/authorize ? scope = user_basic_ show&display = mobile&client_id =
[0145] +AccountOathSDK. appid+〃&force_login = l&state = &response_type = code&cl ient_secret =
[0146] +AccountOathSDK. appsecret+〃&redirect_uri = 〃+AccountOathSDK. redirect- uri ;
[0147] 然后通過WebView的loadurl來打開該登錄頁面,如果登錄成功,則會(huì)將授權(quán)碼 code 附在回調(diào)地址 redirect_uri 后面,如 https://aaa. XXX. com/oauth_default. html ? code = 1,然后通過WebView的onPageFinish方法,可以截取到code值,將該值傳入 getAccessToken (code)中。
[0148] 本發(fā)明最佳實(shí)施例的sdk由于資源文件在jar中用R文件直接訪問會(huì)有沖突,所 以所有資源文件的訪問都采用java的反射機(jī)制來獲得。具體提供一個(gè)Mresource類以根 據(jù)資源類的類名(className)以及資源文件名(name)來獲取資源文件id。
[0149] 在 Mresource 中會(huì)提供一個(gè) getldByName(Context context, String className, String name),該方法會(huì)根據(jù)className以及id名稱name來取得對(duì)應(yīng)的id。 會(huì)先根據(jù)包名(package name)來反射出對(duì)應(yīng)的R文件,然后在該R文件中遍歷類,如果找 到該資源類,則把該資源類中對(duì)用的name值所對(duì)應(yīng)的id直接返回。
[0150]
[0151] 如圖3所示為本發(fā)明一種第三方賬號(hào)授權(quán)設(shè)備的結(jié)構(gòu)模塊圖,包括:
[0152] 第三方授權(quán)響應(yīng)模塊301,用于:響應(yīng)第三方應(yīng)用的授權(quán)請(qǐng)求;
[0153] 授權(quán)碼獲取模塊302,用于:如果設(shè)有預(yù)先綁定的用戶賬號(hào),則獲取關(guān)于所述預(yù)先 綁定的用戶賬號(hào)的授權(quán)碼;
[0154] 訪問令牌獲取模塊303,用于:將所述授權(quán)碼發(fā)送至用戶中心,從所述用戶中心獲 取關(guān)于所述授權(quán)碼的訪問令牌;
[0155] 用戶信息獲取模塊304,用于:將所述訪問令牌和用戶賬號(hào)發(fā)送到服務(wù)器,從所述 服務(wù)器獲取在所述訪問令牌驗(yàn)證通過后的關(guān)于所述用戶賬號(hào)的用戶信息;
[0156] 信息回調(diào)模塊305,用于:將所述用戶信息回調(diào)至所述第三方應(yīng)用。
[0157] 在其中一個(gè)實(shí)施例中,所述獲取關(guān)于所述預(yù)先綁定的用戶賬號(hào)的授權(quán)碼,具體用 于:
[0158] 獲取所述第三方應(yīng)用的應(yīng)用標(biāo)識(shí)和應(yīng)用密鑰;
[0159] 對(duì)所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰進(jìn)行驗(yàn)證,如果驗(yàn)證通過,獲取關(guān)于所述預(yù)先綁 定的用戶賬號(hào)的授權(quán)碼。
[0160] 在其中一個(gè)實(shí)施例中,所述授權(quán)碼獲取模塊302,還用于:如果沒有預(yù)先綁定的用 戶賬號(hào),則:
[0161] 獲取所述第三方應(yīng)用的應(yīng)用標(biāo)識(shí)和應(yīng)用密鑰;
[0162] 將所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰發(fā)送到服務(wù)器;
[0163] 顯示所述服務(wù)器對(duì)所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰進(jìn)行驗(yàn)證后所返回的登陸頁 面;
[0164] 獲取所述服務(wù)器對(duì)用戶賬號(hào)和用戶密碼驗(yàn)證通過后所返回的關(guān)于所述用戶賬號(hào) 的授權(quán)碼,執(zhí)行訪問令牌獲取模塊,所述用戶賬號(hào)和所述用戶密碼由所述服務(wù)器通過所述 登陸頁面接收得到。
[0165] 在其中一個(gè)實(shí)施例中,所述訪問令牌獲取模塊303中,獲取所述訪問令牌后與所 述用戶賬號(hào)關(guān)聯(lián)保存;
[0166] 所述第三方授權(quán)響應(yīng)模塊301,具體用于:
[0167] 當(dāng)響應(yīng)于第三方應(yīng)用的授權(quán)請(qǐng)求時(shí),如果保存有與所述用戶賬號(hào)關(guān)聯(lián)保存的訪問 令牌,則直接執(zhí)行所述用戶信息獲取模塊304,否則執(zhí)行所述授權(quán)碼獲取模塊302。
[0168] 在其中一個(gè)實(shí)施例中,所述信息回調(diào)模塊305,具體用于:
[0169] 將所述用戶信息進(jìn)行哈希封裝后回調(diào)至所述第三方應(yīng)用。
[0170] 在其中一個(gè)實(shí)施例中,所述第三方授權(quán)響應(yīng)模塊301,具體用于:顯示授權(quán)頁面, 響應(yīng)由所述授權(quán)頁面所觸發(fā)的第三方應(yīng)用的授權(quán)請(qǐng)求,所述授權(quán)頁面采用Java基于安卓 系統(tǒng)生成,且所述授權(quán)頁面的顯示資源來自以Java庫形式保存的至少一個(gè)資源文件,且每 個(gè)所述資源文件的資源文件標(biāo)識(shí)采用Java的反射機(jī)制從安卓系統(tǒng)所提供的R文件中獲取。
[0171] 如圖4所示為本發(fā)明的設(shè)備的結(jié)構(gòu)框圖,其主要包括:處理器401、存儲(chǔ)器402、通 信組件403及顯示屏404等。一般來說,本發(fā)明的設(shè)備優(yōu)選為智能手機(jī)、平板電腦和智能電 視等。
[0172] 其中存儲(chǔ)器402中存儲(chǔ)前述方法的具體代碼,由處理器401具體執(zhí)行,通過顯示屏 404顯示授權(quán)界面,以及通過通信組件403向服務(wù)器發(fā)送訪問令牌和用戶賬號(hào),以及接收用 戶信息并通過處理器401回調(diào)至第三方應(yīng)用。
[0173] 如圖5所示為本發(fā)明一種第三方賬號(hào)授權(quán)服務(wù)器的結(jié)構(gòu)模塊圖,包括:
[0174] 訪問令牌接收模塊501,用于:接收到來自設(shè)備的訪問令牌和用戶賬號(hào),所述訪問 令牌由所述設(shè)備響應(yīng)第三方應(yīng)用的授權(quán)請(qǐng)求,在設(shè)有預(yù)先綁定的用戶賬號(hào)時(shí)獲取關(guān)于所述 預(yù)先綁定的用戶賬號(hào)的授權(quán)碼,并將所述授權(quán)碼發(fā)送至用戶中心后,從所述用戶中心獲取 得到關(guān)于所述授權(quán)碼的訪問令牌;
[0175] 用戶信息發(fā)送模塊502,用于:對(duì)所述訪問令牌進(jìn)行驗(yàn)證,如果所述訪問令牌驗(yàn)證 通過,則將關(guān)于所述用戶賬號(hào)的用戶信息發(fā)送至所述設(shè)備,所述用戶信息由所述設(shè)備用于 回調(diào)至所述第三方應(yīng)用。
[0176] 在其中一個(gè)實(shí)施例中,還包括,授權(quán)碼發(fā)送模塊;
[0177] 所述授權(quán)碼發(fā)送模塊,用于:
[0178] 接收到設(shè)備判斷沒有與所述設(shè)備綁定的用戶賬號(hào)時(shí),所發(fā)送的應(yīng)用標(biāo)識(shí)和應(yīng)用密 鑰,所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰為所述設(shè)備所獲取的所述第三方應(yīng)用的應(yīng)用標(biāo)識(shí)和應(yīng)用 密鑰;
[0179] 如果所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰驗(yàn)證通過則向所述設(shè)備返回登陸頁面,并通過 所述登陸頁面獲取用戶賬號(hào)和用戶密碼;
[0180] 如果對(duì)所述用戶賬號(hào)和所述用戶密碼驗(yàn)證通過,則向所述設(shè)備返回關(guān)于所述用戶 賬號(hào)的授權(quán)碼。
[0181] 如圖6所示為本發(fā)明的服務(wù)器的結(jié)構(gòu)框圖。服務(wù)器可以為一臺(tái)電腦,也可以是多 臺(tái)電腦所組成的集群,其主要包括:處理器601、存儲(chǔ)器602以及通信組件603等。
[0182] 其中存儲(chǔ)器602中存儲(chǔ)前述方法的具體代碼,由處理器601具體執(zhí)行,通過通信組 件603接收設(shè)備發(fā)送的訪問令牌和用戶賬號(hào),并由處理器601從存儲(chǔ)器602中查詢得到用 戶信息后,通過通信組件603向設(shè)備返回用戶信息。
[0183] 如圖7所示為本發(fā)明一種第三方賬號(hào)授權(quán)系統(tǒng)的結(jié)構(gòu)模塊圖,包括:設(shè)備端71和 服務(wù)器端72 ;
[0184] 所述設(shè)備端71,包括:
[0185] 設(shè)備端第三方授權(quán)響應(yīng)模塊711,用于:響應(yīng)第三方應(yīng)用的授權(quán)請(qǐng)求;
[0186] 設(shè)備端授權(quán)碼獲取模塊712,用于:如果設(shè)有預(yù)先綁定的用戶賬號(hào),則獲取關(guān)于所 述預(yù)先綁定的用戶賬號(hào)的授權(quán)碼;
[0187] 設(shè)備端訪問令牌獲取模塊713,用于:將所述授權(quán)碼發(fā)送至用戶中心,從所述用戶 中心獲取關(guān)于所述授權(quán)碼的訪問令牌;
[0188] 設(shè)備端用戶信息獲取模塊714,用于:將所述訪問令牌和用戶賬號(hào)發(fā)送到服務(wù)器, 從所述服務(wù)器獲取關(guān)于所述用戶賬號(hào)的用戶信息;
[0189] 設(shè)備端信息回調(diào)模塊715,用于:將所述用戶信息回調(diào)至所述第三方應(yīng)用;
[0190] 所述服務(wù)器端72,包括:
[0191] 服務(wù)器端訪問令牌接收模塊721,用于:接收到來自設(shè)備的訪問令牌和用戶賬號(hào);
[0192] 服務(wù)器端用戶信息發(fā)送模塊722,用于:對(duì)所述訪問令牌進(jìn)行驗(yàn)證,如果所述訪問 令牌驗(yàn)證通過,則將關(guān)于所述用戶賬號(hào)的用戶信息發(fā)送至所述設(shè)備。
[0193] 以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并 不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員 來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保 護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【主權(quán)項(xiàng)】
1. 一種第三方賬號(hào)授權(quán)方法,其特征在于,包括: 第三方授權(quán)響應(yīng)步驟,包括:響應(yīng)第三方應(yīng)用的授權(quán)請(qǐng)求; 授權(quán)碼獲取步驟,包括:如果設(shè)有預(yù)先綁定的用戶賬號(hào),則獲取關(guān)于所述預(yù)先綁定的用 戶賬號(hào)的授權(quán)碼; 訪問令牌獲取步驟,包括:將所述授權(quán)碼發(fā)送至用戶中心,從所述用戶中心獲取關(guān)于所 述授權(quán)碼的訪問令牌; 用戶信息獲取步驟,包括:將所述訪問令牌和用戶賬號(hào)發(fā)送到服務(wù)器,從所述服務(wù)器獲 取在所述訪問令牌驗(yàn)證通過后的關(guān)于所述用戶賬號(hào)的用戶信息; 信息回調(diào)步驟,包括:將所述用戶信息回調(diào)至所述第三方應(yīng)用。2. 根據(jù)權(quán)利要求1所述的第三方賬號(hào)授權(quán)方法,其特征在于,所述獲取關(guān)于所述預(yù)先 綁定的用戶賬號(hào)的授權(quán)碼,具體包括: 獲取所述第三方應(yīng)用的應(yīng)用標(biāo)識(shí)和應(yīng)用密鑰; 對(duì)所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰進(jìn)行驗(yàn)證,如果驗(yàn)證通過,獲取關(guān)于所述預(yù)先綁定的 用戶賬號(hào)的授權(quán)碼。3. 根據(jù)權(quán)利要求1所述的第三方賬號(hào)授權(quán)方法,其特征在于,所述授權(quán)碼獲取步驟,還 包括:如果沒有預(yù)先綁定的用戶賬號(hào),則: 獲取所述第三方應(yīng)用的應(yīng)用標(biāo)識(shí)和應(yīng)用密鑰; 將所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰發(fā)送到服務(wù)器; 顯示所述服務(wù)器對(duì)所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰進(jìn)行驗(yàn)證后所返回的登陸頁面; 獲取所述服務(wù)器對(duì)用戶賬號(hào)和用戶密碼驗(yàn)證通過后所返回的關(guān)于所述用戶賬號(hào)的授 權(quán)碼,執(zhí)行訪問令牌獲取步驟,所述用戶賬號(hào)和所述用戶密碼由所述服務(wù)器通過所述登陸 頁面接收得到。4. 根據(jù)權(quán)利要求1所述的第三方賬號(hào)授權(quán)方法,其特征在于,所述訪問令牌獲取步驟 中,獲取所述訪問令牌后與所述用戶賬號(hào)關(guān)聯(lián)保存; 所述第三方授權(quán)響應(yīng)步驟,具體包括: 當(dāng)響應(yīng)于第三方應(yīng)用的授權(quán)請(qǐng)求時(shí),如果保存有與所述用戶賬號(hào)關(guān)聯(lián)保存的訪問令 牌,則直接執(zhí)行所述用戶信息獲取步驟,否則執(zhí)行所述授權(quán)碼獲取步驟。5. 根據(jù)權(quán)利要求1所述的第三方賬號(hào)授權(quán)方法,其特征在于,所述信息回調(diào)步驟,具體 包括: 將所述用戶信息進(jìn)行哈希封裝后回調(diào)至所述第三方應(yīng)用。6. 根據(jù)權(quán)利要求1所述的第三方賬號(hào)授權(quán)方法,其特征在于,所述第三方授權(quán)響應(yīng)步 驟,具體包括:顯示授權(quán)頁面,響應(yīng)由所述授權(quán)頁面所觸發(fā)的第三方應(yīng)用的授權(quán)請(qǐng)求,所述 授權(quán)頁面采用Java基于安卓系統(tǒng)生成,且所述授權(quán)頁面的顯示資源來自以Java庫形式保 存的至少一個(gè)資源文件,且每個(gè)所述資源文件的資源文件標(biāo)識(shí)采用Java的反射機(jī)制從安 卓系統(tǒng)所提供的R文件中獲取。7. -種第三方賬號(hào)授權(quán)方法,其特征在于,包括: 訪問令牌接收步驟,包括:接收到來自設(shè)備的訪問令牌和用戶賬號(hào),所述訪問令牌由所 述設(shè)備響應(yīng)第三方應(yīng)用的授權(quán)請(qǐng)求,在設(shè)有預(yù)先綁定的用戶賬號(hào)時(shí)獲取關(guān)于所述預(yù)先綁定 的用戶賬號(hào)的授權(quán)碼,并將所述授權(quán)碼發(fā)送至用戶中心后,從所述用戶中心獲取得到關(guān)于 所述授權(quán)碼的訪問令牌; 用戶信息發(fā)送步驟,包括:對(duì)所述訪問令牌進(jìn)行驗(yàn)證,如果所述訪問令牌驗(yàn)證通過,則 將關(guān)于所述用戶賬號(hào)的用戶信息發(fā)送至所述設(shè)備,所述用戶信息由所述設(shè)備用于回調(diào)至所 述第三方應(yīng)用。8. 根據(jù)權(quán)利要求7所述的第三方賬號(hào)授權(quán)方法,其特征在于,還包括,授權(quán)碼發(fā)送步 驟; 所述授權(quán)碼發(fā)送步驟,包括: 接收到設(shè)備判斷沒有與所述設(shè)備綁定的用戶賬號(hào)時(shí),所發(fā)送的應(yīng)用標(biāo)識(shí)和應(yīng)用密鑰, 所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰為所述設(shè)備所獲取的所述第三方應(yīng)用的應(yīng)用標(biāo)識(shí)和應(yīng)用密 鑰; 如果所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰驗(yàn)證通過則向所述設(shè)備返回登陸頁面,并通過所述 登陸頁面獲取用戶賬號(hào)和用戶密碼; 如果對(duì)所述用戶賬號(hào)和所述用戶密碼驗(yàn)證通過,則向所述設(shè)備返回關(guān)于所述用戶賬號(hào) 的授權(quán)碼。9. 一種第三方賬號(hào)授權(quán)設(shè)備,其特征在于,包括: 第三方授權(quán)響應(yīng)模塊,用于:響應(yīng)第三方應(yīng)用的授權(quán)請(qǐng)求; 授權(quán)碼獲取模塊,用于:如果設(shè)有預(yù)先綁定的用戶賬號(hào),則獲取關(guān)于所述預(yù)先綁定的用 戶賬號(hào)的授權(quán)碼; 訪問令牌獲取模塊,用于:將所述授權(quán)碼發(fā)送至用戶中心,從所述用戶中心獲取關(guān)于所 述授權(quán)碼的訪問令牌; 用戶信息獲取模塊,用于:將所述訪問令牌和用戶賬號(hào)發(fā)送到服務(wù)器,從所述服務(wù)器獲 取在所述訪問令牌驗(yàn)證通過后的關(guān)于所述用戶賬號(hào)的用戶信息; 信息回調(diào)模塊,用于:將所述用戶信息回調(diào)至所述第三方應(yīng)用。10. 根據(jù)權(quán)利要求9所述的第三方賬號(hào)授權(quán)設(shè)備,其特征在于,所述獲取關(guān)于所述預(yù)先 綁定的用戶賬號(hào)的授權(quán)碼,具體用于: 獲取所述第三方應(yīng)用的應(yīng)用標(biāo)識(shí)和應(yīng)用密鑰; 對(duì)所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰進(jìn)行驗(yàn)證,如果驗(yàn)證通過,獲取關(guān)于所述預(yù)先綁定的 用戶賬號(hào)的授權(quán)碼。11. 根據(jù)權(quán)利要求9所述的第三方賬號(hào)授權(quán)設(shè)備,其特征在于,所述授權(quán)碼獲取模塊, 還用于:如果沒有預(yù)先綁定的用戶賬號(hào),則: 獲取所述第三方應(yīng)用的應(yīng)用標(biāo)識(shí)和應(yīng)用密鑰; 將所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰發(fā)送到服務(wù)器; 顯示所述服務(wù)器對(duì)所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰進(jìn)行驗(yàn)證后所返回的登陸頁面; 獲取所述服務(wù)器對(duì)用戶賬號(hào)和用戶密碼驗(yàn)證通過后所返回的關(guān)于所述用戶賬號(hào)的授 權(quán)碼,執(zhí)行訪問令牌獲取模塊,所述用戶賬號(hào)和所述用戶密碼由所述服務(wù)器通過所述登陸 頁面接收得到。12. 根據(jù)權(quán)利要求9所述的第三方賬號(hào)授權(quán)設(shè)備,其特征在于,所述訪問令牌獲取模塊 中,獲取所述訪問令牌后與所述用戶賬號(hào)關(guān)聯(lián)保存; 所述第三方授權(quán)響應(yīng)模塊,具體用于: 當(dāng)響應(yīng)于第三方應(yīng)用的授權(quán)請(qǐng)求時(shí),如果保存有與所述用戶賬號(hào)關(guān)聯(lián)保存的訪問令 牌,則直接執(zhí)行所述用戶信息獲取模塊,否則執(zhí)行所述授權(quán)碼獲取模塊。13. 根據(jù)權(quán)利要求9所述的第三方賬號(hào)授權(quán)設(shè)備,其特征在于,所述信息回調(diào)模塊,具 體用于: 將所述用戶信息進(jìn)行哈希封裝后回調(diào)至所述第三方應(yīng)用。14. 根據(jù)權(quán)利要求9所述的第三方賬號(hào)授權(quán)設(shè)備,其特征在于,所述第三方授權(quán)響應(yīng)模 塊,具體用于:顯示授權(quán)頁面,響應(yīng)由所述授權(quán)頁面所觸發(fā)的第三方應(yīng)用的授權(quán)請(qǐng)求,所述 授權(quán)頁面采用Java基于安卓系統(tǒng)生成,且所述授權(quán)頁面的顯示資源來自以Java庫形式保 存的至少一個(gè)資源文件,且每個(gè)所述資源文件的資源文件標(biāo)識(shí)采用Java的反射機(jī)制從安 卓系統(tǒng)所提供的R文件中獲取。15. -種第三方賬號(hào)授權(quán)服務(wù)器,其特征在于,包括: 訪問令牌接收模塊,用于:接收到來自設(shè)備的訪問令牌和用戶賬號(hào),所述訪問令牌由所 述設(shè)備響應(yīng)第三方應(yīng)用的授權(quán)請(qǐng)求,在設(shè)有預(yù)先綁定的用戶賬號(hào)時(shí)獲取關(guān)于所述預(yù)先綁定 的用戶賬號(hào)的授權(quán)碼,并將所述授權(quán)碼發(fā)送至用戶中心后,從所述用戶中心獲取得到關(guān)于 所述授權(quán)碼的訪問令牌; 用戶信息發(fā)送模塊,用于:對(duì)所述訪問令牌進(jìn)行驗(yàn)證,如果所述訪問令牌驗(yàn)證通過,則 將關(guān)于所述用戶賬號(hào)的用戶信息發(fā)送至所述設(shè)備,所述用戶信息由所述設(shè)備用于回調(diào)至所 述第三方應(yīng)用。16. 根據(jù)權(quán)利要求15所述的第三方賬號(hào)授權(quán)服務(wù)器,其特征在于,還包括,授權(quán)碼發(fā)送 模塊; 所述授權(quán)碼發(fā)送模塊,用于: 接收到設(shè)備判斷沒有與所述設(shè)備綁定的用戶賬號(hào)時(shí),所發(fā)送的應(yīng)用標(biāo)識(shí)和應(yīng)用密鑰, 所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰為所述設(shè)備所獲取的所述第三方應(yīng)用的應(yīng)用標(biāo)識(shí)和應(yīng)用密 鑰; 如果所述應(yīng)用標(biāo)識(shí)和所述應(yīng)用密鑰驗(yàn)證通過則向所述設(shè)備返回登陸頁面,并通過所述 登陸頁面獲取用戶賬號(hào)和用戶密碼; 如果對(duì)所述用戶賬號(hào)和所述用戶密碼驗(yàn)證通過,則向所述設(shè)備返回關(guān)于所述用戶賬號(hào) 的授權(quán)碼。17. -種第三方賬號(hào)授權(quán)系統(tǒng),包括:設(shè)備端和服務(wù)器端; 所述設(shè)備端,包括: 設(shè)備端第三方授權(quán)響應(yīng)模塊,用于:響應(yīng)第三方應(yīng)用的授權(quán)請(qǐng)求; 設(shè)備端授權(quán)碼獲取模塊,用于:如果設(shè)有預(yù)先綁定的用戶賬號(hào),則獲取關(guān)于所述預(yù)先綁 定的用戶賬號(hào)的授權(quán)碼; 設(shè)備端訪問令牌獲取模塊,用于:將所述授權(quán)碼發(fā)送至用戶中心,從所述用戶中心獲取 關(guān)于所述授權(quán)碼的訪問令牌; 設(shè)備端用戶信息獲取模塊,用于:將所述訪問令牌和用戶賬號(hào)發(fā)送到服務(wù)器,從所述服 務(wù)器獲取關(guān)于所述用戶賬號(hào)的用戶信息; 設(shè)備端信息回調(diào)模塊,用于:將所述用戶信息回調(diào)至所述第三方應(yīng)用; 所述服務(wù)器端,包括: 服務(wù)器端訪問令牌接收模塊,用于:接收到來自設(shè)備的訪問令牌和用戶賬號(hào); 服務(wù)器端用戶信息發(fā)送模塊,用于:對(duì)所述訪問令牌進(jìn)行驗(yàn)證,如果所述訪問令牌驗(yàn)證 通過,則將關(guān)于所述用戶賬號(hào)的用戶信息發(fā)送至所述設(shè)備。
【文檔編號(hào)】H04L29/06GK105897668SQ201510694688
【公開日】2016年8月24日
【申請(qǐng)日】2015年10月22日
【發(fā)明人】牛云飛
【申請(qǐng)人】樂視致新電子科技(天津)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
武川县| 漳州市| 阿拉善左旗| 靖边县| 临邑县| 孟连| 秀山| 郑州市| 朔州市| 宁城县| 翼城县| 高邑县| 吴忠市| 长治县| 墨江| 大关县| 大安市| 慈溪市| 石城县| 时尚| 东兴市| 阜宁县| 玉林市| 南木林县| 安丘市| 嘉禾县| 沙湾县| 沙河市| 彩票| 博爱县| 辰溪县| 华蓥市| 长宁区| 酉阳| 昌乐县| 揭西县| 阜平县| 江口县| 大城县| 达日县| 泸水县|