一種平臺授權方法、平臺服務端及應用客戶端和系統(tǒng)的制作方法
【專利摘要】本發(fā)明實施例公開了一種平臺授權方法、平臺服務端及應用客戶端和系統(tǒng),方法包括:接收應用客戶端通過第一路徑發(fā)送的第一驗證消息并獲取終端標識;記錄所接收的隨機字符串與標識之間的映射關系;接收應用客戶端通過第二路徑發(fā)送的第二驗證消息;根據(jù)身份標識從數(shù)據(jù)庫中讀取注冊過程中提交的身份認證信息,并對所提取的身份認證信息進行簽名;如果驗證所生成的簽名值與所接收的簽名值一致,則根據(jù)隨機字符串從所記錄的映射關系中提取對應的終端標識,并根據(jù)終端標識獲取對應的用戶賬號信息;根據(jù)用戶賬號信息和身份認證信息生成授權訪問令牌,發(fā)送給應用客戶端。本發(fā)明實施例的技術方案能使得用戶對授權過程無感知,并能進一步提高授權的安全性。
【專利說明】一種平臺授權方法、平臺服務----?及應用客戶----?和系統(tǒng)
【技術領域】
[0001] 本發(fā)明涉及計算機通信【技術領域】,尤其涉及一種平臺授權方法、平臺服務端及應 用客戶端和系統(tǒng)。
【背景技術】
[0002] 開放平臺是指由網(wǎng)站提供的、面向第三方的開放式基礎服務平臺,例如百度、騰 訊、阿里、新浪微博等開放云平臺。第三方的應用客戶端為了獲得這些開放平臺提供的各種 高價值的云能力和用戶數(shù)據(jù),都會去支持各大平臺所提供的開放授權接口,以獲取用戶在 這些平臺上給本應用客戶端授權后產(chǎn)生的授權訪問令牌,并通過訪問令牌調用各大平臺提 供的 OpenAPI (Open Application Programming Interface,開放應用程序接口)來獲取本 應用客戶端需要的云能力和用戶在對應開放平臺上的相關數(shù)據(jù)。
[0003] 現(xiàn)有技術中,用戶給應用客戶端授權前需要先基于用戶的已有賬戶登錄該平臺, 否則平臺無法知道是哪個用戶要為對應的應用客戶端授權,而為了保證安全,一般都需要 應用客戶端提供網(wǎng)絡視圖(WebView)或外部瀏覽器來加載對應平臺所提供的登錄授權頁 面,用戶在該登錄授權頁面進行登錄授權,以便應用客戶端不能直接接觸到用戶的賬號、密 碼等敏感信息。但這樣的流程體驗在很多時候是很不友好的:
[0004] 第一、由于授權時需要加載一個web頁(網(wǎng)頁),而web頁的加載速度取決于用戶 移動設備的網(wǎng)絡速度,在大多數(shù)2G環(huán)境下,這個頁面的加載速度是極慢的,用戶需要等待 很長時間才能看到登錄授權界面;
[0005] 第二、由于web頁是由開放平臺端統(tǒng)一提供的,第三方應用一般是無法對該頁面 的風格、布局、內容等進行靈活自定義的,很多時候,這個頁面的風格會與應用客戶端自身 的風格出入很大,使得第三方應用難以接受,尤其是在第三方游戲應用中;
[0006] 第三、應用客戶端如果通過外部瀏覽器加載登錄授權頁則會導致用戶體驗的急劇 下降,如果通過WebView加載,則第三方應用仍然是有辦法拿到用戶輸入的賬號、密碼等敏 感信息的,其安全性不夠高;
[0007] 第四、當應用客戶端同時需要多個開放平臺所提供的用戶數(shù)據(jù)和云能力來實現(xiàn)一 項功能時,就得想辦法引導用戶挨個在多個平臺上進行登錄授權,在每次登錄授權都要出 一個登錄授權界面的情況下,這樣的工作基本上無法有效開展的。應用客戶端需要的是,在 用戶不受干擾的情況下,順暢完成多個平臺的授權問題,這樣才能獲得最大的轉化率。
【發(fā)明內容】
[0008] 有鑒于此,本發(fā)明實施例提供一種平臺授權方法、平臺服務端及應用客戶端和系 統(tǒng),以改善應用客戶端得到平臺服務端授權的機制。
[0009] 第一方面,本發(fā)明實施例提供了一種平臺服務端的平臺授權方法,包括:
[0010] 平臺服務端接收應用客戶端通過第一路徑發(fā)送的第一驗證消息并獲取所述應用 客戶端所在終端的終端標識,所述第一驗證消息包括隨機字符串; toon] 所述平臺服務端對所接收的隨機字符串與所述終端標識之間的映射關系進行記 錄;
[0012] 所述平臺服務端接收所述應用客戶端通過第二路徑發(fā)送的第二驗證消息,所述第 二驗證消息包括所述隨機字符串,所述應用客戶端通過預設簽名算法對身份認證信息進行 簽名生成的簽名值,以及注冊過程中所述身份驗證信息在所述平臺服務端對應的身份標 識;
[0013] 所述平臺服務端根據(jù)所接收的所述身份標識從數(shù)據(jù)庫中讀取注冊過程中提交的 身份認證信息,并通過預設簽名算法對所提取的身份認證信息進行簽名生成簽名值;
[0014] 如果所述平臺服務端驗證所生成的簽名值與所接收的簽名值一致,則根據(jù)所述隨 機字符串從所記錄的所述映射關系中提取對應的終端標識,并根據(jù)所述終端標識獲取對應 的用戶賬號信息;
[0015] 所述平臺服務端根據(jù)所述用戶賬號信息和所述身份認證信息生成授權訪問令牌, 發(fā)送給所述應用客戶端。
[0016] 第二方面,本發(fā)明實施例還提供了一種應用客戶端的平臺授權方法,包括:
[0017] 應用客戶端通過第一路徑向平臺服務端發(fā)送第一驗證消息,所述第一驗證消息包 括隨機字符串,以供所述平臺服務端對所述隨機字符串與所述應用客戶端所在終端的終端 標識之間的映射關系進行記錄;
[0018] 應用客戶端通過預設簽名算法對身份認證信息進行簽名生成簽名值;
[0019] 應用客戶端通過第二路徑向所述平臺服務端發(fā)送第二驗證消息,所述第二驗證消 息包括所述隨機字符串,所述簽名值,以及注冊過程中所述身份驗證信息在所述平臺服務 端對應的身份標識,以供所述平臺服務端根據(jù)所述身份標識從數(shù)據(jù)庫中讀取注冊過程中提 交的身份認證信息,并通過預設簽名算法對所提取的身份認證信息進行簽名生成簽名值, 如果所述平臺服務端驗證所生成的簽名值與所接收的簽名值一致,則根據(jù)所述隨機字符串 從所記錄的所述映射關系中提取對應的終端標識,并根據(jù)所述終端標識獲取對應的用戶賬 號信息,以及根據(jù)所述用戶賬號信息和所述身份認證信息生成授權訪問令牌;
[0020] 應用客戶端接收所述平臺服務端發(fā)送的授權訪問令牌。
[0021] 第三方面,本發(fā)明實施例還提供了一種平臺服務端,包括:
[0022] 第一驗證消息接收單元,用于接收應用客戶端通過第一路徑發(fā)送的第一驗證消息 并獲取所述應用客戶端所在終端的終端標識,所述第一驗證消息包括隨機字符串;
[0023] 映射關系記錄單元,用于對所接收的隨機字符串與所述終端標識之間的映射關系 進行記錄;
[0024] 第二驗證消息接收單元,用于接收所述應用客戶端通過第二路徑發(fā)送的第二驗證 消息,所述第二驗證消息包括所述隨機字符串,所述應用客戶端通過預設簽名算法對身份 認證信息進行簽名生成的簽名值,以及注冊過程中所述身份驗證信息在所述平臺服務端對 應的身份標識;
[0025] 信息提取和簽名單元,用于根據(jù)所接收的所述身份標識從數(shù)據(jù)庫中讀取注冊過程 中提交的身份認證信息,并通過預設簽名算法對所提取的身份認證信息進行簽名生成簽名 值;
[0026] 賬號信息獲取單元,用于如果驗證所生成的簽名值與所接收的簽名值一致,則根 據(jù)所述隨機字符串從所記錄的所述映射關系中提取對應的終端標識,并根據(jù)所述終端標識 獲取對應的用戶賬號信息;
[0027] 授權單元,用于根據(jù)所述用戶賬號信息和所述身份認證信息生成授權訪問令牌, 發(fā)送給所述應用客戶端。
[0028] 第四方面,本發(fā)明實施例還提供了一種應用客戶端,包括:
[0029] 第一驗證消息發(fā)送單元,用于通過第一路徑向平臺服務端發(fā)送第一驗證消息,所 述第一驗證消息包括隨機字符串,以供所述平臺服務端對所述隨機字符串與所述應用客戶 端所在終端的終端標識之間的映射關系進行記錄;
[0030] 簽名單元,用于通過預設簽名算法對身份認證信息進行簽名生成簽名值;
[0031] 第二驗證消息發(fā)送單元,用于通過第二路徑向所述平臺服務端發(fā)送第二驗證消 息,所述第二驗證消息包括所述隨機字符串,所述簽名值,以及注冊過程中所述身份驗證信 息在所述平臺服務端對應的身份標識,以供所述平臺服務端根據(jù)所述身份標識從數(shù)據(jù)庫中 讀取注冊過程中提交的身份認證信息,并通過預設簽名算法對所提取的身份認證信息進行 簽名生成簽名值,如果所述平臺服務端驗證所生成的簽名值與所接收的簽名值一致,則根 據(jù)所述隨機字符串從所記錄的所述映射關系中提取對應的終端標識,并根據(jù)所述終端標識 獲取對應的用戶賬號信息,以及根據(jù)所述用戶賬號信息和所述身份認證信息生成授權訪問 令牌;
[0032] 授權訪問令牌接收單元,用于接收所述平臺服務端發(fā)送的授權訪問令牌。
[0033] 第五方應用面,本發(fā)明實施例還提供了一種平臺授權方法,包括:
[0034] 應用客戶端通過第一路徑向平臺服務端發(fā)送第一驗證消息,所述第一驗證消息包 括隨機字符串;
[0035] 平臺服務端接收應用客戶端通過第一路徑發(fā)送的第一驗證消息并獲取所述應用 客戶端所在終端的終端標識;
[0036] 所述平臺服務端對所接收的隨機字符串與所述終端標識之間的映射關系進行記 錄;
[0037] 應用客戶端通過預設簽名算法對身份認證信息進行簽名生成簽名值;
[0038] 應用客戶端通過第二路徑向所述平臺服務端發(fā)送第二驗證消息,所述第二驗證消 息包括所述隨機字符串,所述簽名值,以及注冊過程中所述身份驗證信息在所述平臺服務 端對應的身份標識;
[0039] 所述平臺服務端接收所述應用客戶端通過第二路徑發(fā)送的第二驗證消息;
[0040] 所述平臺服務端根據(jù)所接收的所述身份標識從數(shù)據(jù)庫中讀取注冊過程中提交的 身份認證信息,并通過預設簽名算法對所提取的身份認證信息進行簽名生成簽名值;
[0041] 如果所述平臺服務端驗證所生成的簽名值與所接收的簽名值一致,則根據(jù)所述隨 機字符串從所記錄的所述映射關系中提取對應的終端標識,并根據(jù)所述終端標識獲取對應 的用戶賬號信息;
[0042] 所述平臺服務端根據(jù)所述用戶賬號信息和所述身份認證信息生成授權訪問令牌, 發(fā)送給所述應用客戶端;
[0043] 應用客戶端接收所述平臺服務端發(fā)送的授權訪問令牌。
[0044] 第六方面,本發(fā)明實施例還提供了一種平臺授權系統(tǒng),包括:本發(fā)明任意實施例所 提供的平臺服務端和本發(fā)明任意實施例所提供的應用客戶端。
[0045] 本發(fā)明實施例提出的技術方案通過應用客戶端分別通過兩條路徑向平臺服務端 發(fā)送包括隨機字符串的第一驗證消息,包括所述隨機字符串、簽名值和身份標識的第二驗 證消息,如果所述平臺服務端驗證通過預設簽名算法對身份認證信息進行簽名生成的簽名 值與所接收的簽名值一致,則根據(jù)所述隨機字符串獲取對應的用戶賬號信息,并根據(jù)所述 用戶賬號信息和所述身份認證信息生成授權訪問令牌,發(fā)送給所述應用客戶端,無需通過 網(wǎng)頁進行登錄,能使得用戶對授權過程無感知,并能進一步提高授權的安全性。
【專利附圖】
【附圖說明】
[0046] 為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對本發(fā)明實施例描述中所 需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施 例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)本發(fā)明實施 例的內容和這些附圖獲得其他的附圖。
[0047] 圖1是本發(fā)明實施例一所述的平臺服務端的平臺授權方法的流程圖;
[0048] 圖2是本發(fā)明實施例二所述的應用客戶端的平臺授權方法的流程圖;
[0049] 圖3是本發(fā)明實施例三所述的平臺服務端的結構框圖;
[0050] 圖4是本發(fā)明實施例四所述的應用客戶端的結構框圖;
[0051] 圖5是本發(fā)明實施例五所述的平臺授權方法中平臺服務端與應用客戶端的交互 示意圖;
[0052] 圖6是本發(fā)明實施例六所述的平臺授權方法的流程圖。
【具體實施方式】
[0053] 為使本發(fā)明解決的技術問題、采用的技術方案和達到的技術效果更加清楚,下面 將結合附圖對本發(fā)明實施例的技術方案作進一步的詳細描述,顯然,所描述的實施例僅僅 是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域技術人員在 沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0054] 下面結合附圖并通過【具體實施方式】來進一步說明本發(fā)明的技術方案。
[0055] 實施例一
[0056] 圖1是本發(fā)明實施例一提供的平臺服務端的平臺授權方法流程圖,本實施例可適 用于應用客戶端請求調用開放平臺中需要終端用戶授權的OpenAPI時獲取授權訪問令牌 情況,其中,所述應用客戶端可以為安裝于終端上的應用軟件、即時通訊客戶端、游戲娛樂 客戶端或終端上的系統(tǒng)工具,即第三方應用。該方法可以由平臺服務端來執(zhí)行,平臺服務端 是能夠向第三方應用提供平臺服務的服務器,如圖1所示,本實施例所述的平臺服務端的 平臺授權方法包括:
[0057] S101、平臺服務端接收應用客戶端通過第一路徑發(fā)送的第一驗證消息并獲取所述 應用客戶端所在終端的終端標識,所述第一驗證消息包括隨機字符串。
[0058] 為了防止應用客戶端惡意獲取平臺方的用戶數(shù)據(jù),通過第一路徑發(fā)送的第一驗證 消息優(yōu)選為通過調用終端系統(tǒng)提供的系統(tǒng)接口向平臺服務端發(fā)送的第一驗證消息,例如可 調用短信接口通過短信網(wǎng)關轉發(fā)所述第一驗證消息。
[0059] 作為優(yōu)選,所述應用客戶端生成隨機字符串,并創(chuàng)建包含所述隨機字符串且目的 地址為所述平臺服務端的驗證短信。所述應用客戶端發(fā)送所述驗證短信至短信網(wǎng)關,指示 所述短信網(wǎng)關將所述驗證短信進行協(xié)議轉換,生成包含所述隨機字符串的第一驗證消息, 發(fā)送給所述平臺服務端。短信網(wǎng)關可以從驗證短信中提取短信發(fā)送方的終端標識,攜帶在 第一驗證消息中進行發(fā)送,則所述平臺服務端接收后提取所述隨機字符串和終端標識。
[0060] S102、所述平臺服務端對所接收的隨機字符串與所述終端標識之間的映射關系進 行記錄。
[0061] 所述終端標識為用于唯一區(qū)分終端的標識碼,只要平臺服務端接收應用客戶端通 過第一路徑發(fā)送的第一驗證消息時,能用來識別出是哪一個終端即可,所述終端標識包括 但不限于電話號碼和終端的設備標識。終端標識通常被用戶用來標識自己的賬戶,能據(jù)此 獲取賬戶信息。
[0062] S103、所述平臺服務端接收所述應用客戶端通過第二路徑發(fā)送的第二驗證消息, 所述第二驗證消息包括所述隨機字符串,所述應用客戶端通過預設簽名算法對身份認證信 息進行簽名生成的簽名值,以及注冊過程中所述身份驗證信息在所述平臺服務端對應的身 份標識。
[0063] 應用客戶端或應用服務器在平臺服務端上注冊的過程中,平臺服務端會為各應用 客戶端或應用服務器分配一個身份標識,用于對各應用客戶端或應用服務器進行唯一標 識,即該身份標識和對應的身份認證信息可以對應于一個應用客戶端,也可以是對應于一 類應用服務的所有應用客戶端。同時,為了安全起見,在注冊過程中,各應用客戶端或應用 服務器還會向平臺服務端提交身份認證信息(例如應用密鑰),以進行身份認證。在平臺服 務端會在數(shù)據(jù)庫中對所述身份標識和所述身份認證信息之間的映射關系進行記錄,用于關 聯(lián)查找。各應用客戶端或應用服務器在向平臺服務端發(fā)起訪問請求時,需要發(fā)送身份標識 和身份認證信息用以進行身份區(qū)別和身份認證,例如將身份認證信息用作包名和包簽名。 [0064] 進一步地,所述第二驗證消息還可包括所述應用客戶端期望獲取的數(shù)據(jù)訪問權限 列表。
[0065] 為了保證安全,所述第二路徑可基于SSL(Secure Sockets Layer,安全套接層)協(xié) 議,進一步地,所述第二路徑可基于 HTTPS (Hyper Text Transfer Protocol over Secure Socket Layer,安全超文本傳輸協(xié)議)協(xié)議。例如,基于所述第二路徑發(fā)送的第二驗證消 息可為基于HTTPS發(fā)送的HTTPS請求。為了防止應用客戶端利用所述第二路徑惡意獲取 平臺方的用戶數(shù)據(jù),應用客戶端需要針對所述第二路徑作必要的安全防護以提升其他客戶 端利用該路徑的難度和成本,例如提供套接字SOCKET接口代替HTTP (Hypertext Transfer Protocol,超文本傳輸協(xié)議)接口,對所述第二驗證消息作相應的對稱加密或非對稱加密, 增加防跨站請求偽造攻擊處理策略等。
[0066] S104、所述平臺服務端根據(jù)所接收的所述身份標識從數(shù)據(jù)庫中讀取注冊過程中提 交的身份認證信息,并通過預設簽名算法對所提取的身份認證信息進行簽名生成簽名值。 [0067] 所述平臺服務端從身份標識和所述身份認證信息之間的映射關系中,根據(jù)所接收 的所述身份標識提取身份認證信息。
[0068] 為了進一步提高安全性能,作為優(yōu)選,本操作還可增加一個過期判定的操作,以確 定是否過期。具體為:平臺服務端對接收到的第二驗證消息中的網(wǎng)絡時間戳進行過期驗證, 判斷當前系統(tǒng)時間戳與所述網(wǎng)絡時間戳的差值是否在預設閥值內,若不在預設閥值的范圍 之內,則認為是一個重放攻擊請求,直接返回相應錯誤信息即可,否則繼續(xù)下一步驟。
[0069] S105、如果所述平臺服務端驗證所生成的簽名值與所接收的簽名值一致,則根據(jù) 所述隨機字符串從所記錄的所述映射關系中提取對應的終端標識,并根據(jù)所述終端標識獲 取對應的用戶賬號信息。
[0070] S106、所述平臺服務端根據(jù)所述用戶賬號信息和所述身份認證信息生成授權訪問 令牌,發(fā)送給所述應用客戶端。
[0071] 平臺服務端可將生成授權訪問令牌通過所述第一路徑或所述第二路徑進行發(fā)送 給所述應用客戶端,由于數(shù)據(jù)大小問題和對收到的數(shù)據(jù)使用便捷性問題,優(yōu)選為通過所述 第二路徑進行發(fā)送。
[0072] 第三方應用的應用客戶端從平臺服務端獲取到的授權訪問令牌,即可通過所述授 權訪問令牌調用平臺方提供的OpenAPI接口來獲取相應的云能力和用戶數(shù)據(jù)。
[0073] 作為優(yōu)選,所述第二驗證消息還包括所述應用客戶端期望數(shù)據(jù)訪問權限列表,本 操作還可包括:根據(jù)所述用戶賬號信息、所述身份認證信息和期望數(shù)據(jù)訪問權限列表生成 授權訪問令牌。
[0074] 進一步地,如果根據(jù)所述終端標識獲取對應的用戶賬號信息的操作失敗,則根據(jù) 所述終端標識注冊獲取新的用戶賬號信息。即,如果不存在所述賬號信息,可以根據(jù)通過所 述第一路徑獲取的終端標識自動注冊一個用戶賬號。
[0075] 進一步地,所述訪問令牌中還可包含所述平臺服務端為所述應用客戶端開通的權 限信息和/或期望獲取的數(shù)據(jù)訪問權限列表。需要說明的是,本實施例可適用于一個應用 客戶端請求獲取一個或一個以上的開放平臺的授權訪問令牌情況。
[0076] 需要說明的是,本實施例中所述第一路徑和所述第二路徑為兩條不同的路徑,應 用客戶端分別通過兩條路徑發(fā)送驗證消息的時機可以相同,也可以先后不同,只需要滿足 操作S105中根據(jù)所述隨機字符串從所記錄的所述映射關系中提取對應的終端標識的步驟 之前,操作S102已完成即可,優(yōu)選為第一驗證消息和第二驗證消息同時發(fā)送,或第一驗證 消息比第二驗證消息先發(fā)送。
[0077] 本發(fā)明實施例提出的技術方案通過平臺服務端分別通過兩條路徑從應用客戶端 發(fā)送包括隨機字符串的第一驗證消息,包括所述隨機字符串、簽名值和身份標識的第二驗 證消息,如果所述平臺服務端驗證根據(jù)所接收的簽名值所生成的簽名值與所接收的簽名值 一致,則根據(jù)所述隨機字符串獲取對應的用戶賬號信息,并根據(jù)所述用戶賬號信息和所述 身份認證信息生成授權訪問令牌,發(fā)送給所述應用客戶端,能使得用戶對授權過程無感知, 并能進一步提高授權的安全性。
[0078] 實施例二
[0079] 圖2是本發(fā)明實施例二提供的應用客戶端的平臺授權方法流程圖,本實施例可適 用于應用客戶端請求調用開放平臺中需要終端用戶授權的OpenAPI時獲取授權訪問令牌 情況,其中,所述應用客戶端可以為安裝于終端上的應用軟件、即時通訊客戶端、游戲娛樂 客戶端或終端上的系統(tǒng)工具,即第三方應用。該方法可以由應用客戶端來執(zhí)行,如圖2所 示,本實施例所述的應用客戶端的平臺授權方法包括:
[0080] S201、應用客戶端通過第一路徑向平臺服務端發(fā)送第一驗證消息,所述第一驗證 消息包括隨機字符串。
[0081] 為了防止應用客戶端惡意獲取平臺方的用戶數(shù)據(jù),通過第一路徑發(fā)送的第一驗證 消息優(yōu)選為通過調用系統(tǒng)提供的系統(tǒng)接口向平臺服務端發(fā)送的第一驗證消息,例如可通過 短信網(wǎng)關轉發(fā)所述第一驗證消息。
[0082] 作為優(yōu)選,所述應用客戶端生成隨機字符串,并創(chuàng)建包含所述隨機字符串且目的 地址為所述平臺服務端的驗證短信。所述應用客戶端發(fā)送所述驗證短信至短信網(wǎng)關,指示 所述短信網(wǎng)關將所述驗證短信進行協(xié)議轉換,生成包含所述隨機字符串的第一驗證消息, 發(fā)送給所述平臺服務端,所述平臺服務端接收后提取所述隨機字符串和終端標識。短信網(wǎng) 關可以從驗證短信中提取短信發(fā)送方的終端標識,攜帶在第一驗證消息中進行發(fā)送,則所 述平臺服務端接收后提取所述隨機字符串和終端標識。
[0083] S202、應用客戶端通過預設簽名算法對身份認證信息進行簽名生成簽名值。
[0084] S203、應用客戶端通過第二路徑向所述平臺服務端發(fā)送第二驗證消息,所述第二 驗證消息包括所述隨機字符串,所述簽名值,以及注冊過程中所述身份驗證信息在所述平 臺服務端對應的身份標識。
[0085] 進一步地,所述第二驗證消息還可包括所述應用客戶端期望獲取的數(shù)據(jù)訪問權限 列表,用于應用客戶端向平臺服務端明確提出需要申請的數(shù)據(jù)的訪問權限的數(shù)據(jù)范圍。
[0086] 例如,所述第二路徑可為基于HTTPS協(xié)議發(fā)送的HTTPS請求。為了防止應用客戶端 利用所述第二路徑惡意獲取平臺方的用戶數(shù)據(jù),應用客戶端需要針對所述第二路徑作必要 的安全防護以提升其他客戶端利用該路徑的難度和成本,例如提供SOCKET接口代替HTTP 接口,對所述第二驗證消息作相應的對稱加密或非對稱加密,增加防跨站請求偽造攻擊處 理策略等。
[0087] S204、應用客戶端接收所述平臺服務端發(fā)送的授權訪問令牌。
[0088] 需要說明的是,本實施例中所述第一路徑和所述第二路徑為兩條不同的路徑,應 用客戶端分別通過兩條路徑發(fā)送驗證消息的時機可以相同,也可以先后不同,只需要滿足 平臺服務端根據(jù)所述隨機字符串從所記錄的所述映射關系中提取對應的終端標識的操作 之前,通過第一路徑向平臺服務端發(fā)送第一驗證消息成功即可,優(yōu)選為第一驗證消息和第 二驗證消息同時發(fā)送,或第一驗證消息比第二驗證消息先發(fā)送。
[0089] 本發(fā)明實施例提出的技術方案通過應用客戶端分別通過兩條路徑向平臺服務端 發(fā)送包括隨機字符串的第一驗證消息,和包括所述隨機字符串、簽名值和身份標識的第二 驗證消息,以供所述平臺服務端返回授權訪問令牌,能進一步提高授權的安全性,并使得用 戶對授權過程無感知。
[0090] 實施例三
[0091] 圖3是本發(fā)明實施例三所述的平臺服務端的結構框圖,如圖3所示,本實施例所述 的平臺服務端包括:
[0092] 第一驗證消息接收單元301,用于接收應用客戶端通過第一路徑發(fā)送的第一驗證 消息并獲取所述應用客戶端所在終端的終端標識,所述第一驗證消息包括隨機字符串;
[0093] 映射關系記錄單元302,用于對所接收的隨機字符串與所述終端標識之間的映射 關系進行記錄;
[0094] 第二驗證消息接收單元303,用于接收所述應用客戶端通過第二路徑發(fā)送的第二 驗證消息,所述第二驗證消息包括所述隨機字符串,所述應用客戶端通過預設簽名算法對 身份認證信息進行簽名生成的簽名值,以及注冊過程中所述身份驗證信息在所述平臺服務 端對應的身份標識;
[0095] 信息提取和簽名單元304,用于根據(jù)所接收的所述身份標識從數(shù)據(jù)庫中讀取注冊 過程中提交的身份認證信息,并通過預設簽名算法對所提取的身份認證信息進行簽名生成 簽名值;
[0096] 賬號信息獲取單元305,用于如果驗證所生成的簽名值與所接收的簽名值一致,則 根據(jù)所述隨機字符串從所記錄的所述映射關系中提取對應的終端標識,并根據(jù)所述終端標 識獲取對應的用戶賬號信息;
[0097] 授權單元306,用于根據(jù)所述用戶賬號信息和所述身份認證信息生成授權訪問令 牌,發(fā)送給所述應用客戶端。
[0098] 進一步地,所述第一驗證消息接收單元301具體用于:
[0099] 接收所述應用客戶端通過短信網(wǎng)關轉發(fā)的第一驗證消息,其中,所述第一驗證消 息為所述短信網(wǎng)關根據(jù)所述應用客戶端發(fā)送的驗證短信進行協(xié)議格式轉換后的消息,所述 驗證短信中攜帶有所述隨機字符串;
[0100] 從所述第一驗證消息中獲取所述應用客戶端所在終端的終端標識,所述終端標識 為所述短信網(wǎng)關從所述驗證短信中提取的短信發(fā)起方終端標識。
[0101] 進一步地,所述第二路徑可基于SSL協(xié)議,更進一步地,所述第二路徑可基于 HTTPS協(xié)議。
[0102] 進一步地,所述賬號信息獲取單元305還包括時間戳判定子單元,用于在通過預 設簽名算法對所提取的身份認證信息進行簽名生成簽名值之后,如果判斷所述第二驗證消 息包括的網(wǎng)絡時間戳與當前系統(tǒng)時間戳之間的差值在預設閾值內,則觸發(fā)后續(xù)操作。相應 的,該網(wǎng)絡時間戳為應用客戶端在發(fā)送第二驗證消息時,將當前時間戳作為網(wǎng)絡時間戳,添 加到第二消息中。
[0103] 進一步地,所述身份認證信息包括包名和包簽名。
[0104] 進一步地,所述終端的標識為手機號。
[0105] 本實施例提供的應用客戶端可執(zhí)行本發(fā)明實施例一所提供的應用客戶端的平臺 授權方法,具備執(zhí)行方法相應的功能模塊和有益效果。
[0106] 實施例四
[0107] 圖4是本發(fā)明實施例四所述的應用客戶端的結構框圖,如圖4所示,本實施例所述 的應用客戶端包括:
[0108] 第一驗證消息發(fā)送單元401,用于通過第一路徑向平臺服務端發(fā)送第一驗證消息, 所述第一驗證消息包括隨機字符串,以供所述平臺服務端對所述隨機字符串與所述應用客 戶端所在終端的終端標識之間的映射關系進行記錄;
[0109] 簽名單元402,用于通過預設簽名算法對身份認證信息進行簽名生成簽名值;
[0110] 第二驗證消息發(fā)送單元403,用于通過第二路徑向所述平臺服務端發(fā)送第二驗證 消息,所述第二驗證消息包括所述隨機字符串,所述簽名值,以及注冊過程中所述身份驗證 信息在所述平臺服務端對應的身份標識,以供所述平臺服務端根據(jù)所述身份標識從數(shù)據(jù)庫 中讀取注冊過程中提交的身份認證信息,并通過預設簽名算法對所提取的身份認證信息進 行簽名生成簽名值,如果所述平臺服務端驗證所生成的簽名值與所接收的簽名值一致,則 根據(jù)所述隨機字符串從所記錄的所述映射關系中提取對應的終端標識,并根據(jù)所述終端標 識獲取對應的用戶賬號信息,以及根據(jù)所述用戶賬號信息和所述身份認證信息生成授權訪 問令牌;
[0111] 授權訪問令牌接收單元404,用于接收所述平臺服務端發(fā)送的授權訪問令牌。
[0112] 進一步地,所述第一驗證消息發(fā)送單元401具體用于:生成隨機字符串,并創(chuàng)建包 含所述隨機字符串且目的地址為所述平臺服務端的驗證短信;以及,
[0113] 送所述驗證短信至短信網(wǎng)關,以指示所述短信網(wǎng)關將所述驗證短信進行協(xié)議轉換 并提取所述驗證短信的短信發(fā)起方終端標識,生成包含所述隨機字符串的第一驗證消息, 向所述平臺服務端發(fā)送。
[0114] 所述第二驗證消息發(fā)送單元403具體用于:基于HTTPS向所述平臺服務端發(fā)送包 含第二驗證消息的HTTPS請求。
[0115] 本實施例提供的應用客戶端可執(zhí)行本發(fā)明實施例二所提供的應用客戶端的平臺 授權方法,具備執(zhí)行方法相應的功能模塊和有益效果。
[0116] 實施例五
[0117] 圖5是本發(fā)明實施例五所述的平臺授權方法中,應用客戶端的平臺授權方法中平 臺服務端與應用客戶端的交互示意圖,本實施例主要應用在安卓系統(tǒng)的手機應用程序(下 稱應用客戶端)中,基于由平臺服務端、應用客戶端和短信網(wǎng)關組成的系統(tǒng)。如圖5所示, 本實施例所述的方法包括:
[0118] 501、應用客戶端向平臺服務端發(fā)送內含隨機字符串的第一驗證消息。
[0119] 即應用客戶端向平臺服務端發(fā)送短信,應用客戶端按照平臺方要求的格式生成一 個包含隨機的的字符串的短信內容串,并發(fā)送到通過調用系統(tǒng)提供的直接發(fā)送短信的接 口,將所述短信內容串發(fā)送到平臺方提供的短信網(wǎng)關,以指示所述接口將所述驗證短信進 行協(xié)議轉換并提取所述驗證短信的短信發(fā)起方終端標識,生成包含所述隨機字符串的第一 驗證消息,向所述平臺服務端發(fā)送。
[0120] 502、短信網(wǎng)關向平臺服務端發(fā)送客戶端所在終端標識和第一驗證消息。
[0121] 短信網(wǎng)關將短信內容串及發(fā)送短信的手機號基于HTTPS通過發(fā)送HTTPS請求轉發(fā) 給平臺方的平臺服務端;
[0122] 平臺服務端接收到短信內容串和手機號后,往緩存系統(tǒng)存儲一條所述短信內容串 到手機號的映射關系數(shù)據(jù),并設一定的過期時間(一般時間較短,例如1分鐘)。
[0123] 503、平臺服務端向應用客戶端發(fā)送第二驗證消息,內含隨機字符串,簽名值,以及 身份標識。
[0124] 即通過互聯(lián)網(wǎng)發(fā)送驗證信息。應用客戶端在短信發(fā)送成功后,調用平臺方提供的 軟件開發(fā)工具包SDK (Software Development Kit,軟件開發(fā)工具包)包提供的接口來獲取 當前應用客戶端的身份驗證信息,所述身份認證信息是根據(jù)應用客戶端的包名、包簽名、當 前網(wǎng)絡時間戳、預設的固定密鑰等信息進行對稱加密生成的加密串,為了防止具體加密算 法被第三方獲取,從而影響本技術方案的安全性,整個簽名算法(包括應用客戶端包名、包 簽名、預設的密鑰等數(shù)據(jù)的獲取)都通過JNI (Java Native Interface, JAVA本地調用)技 術由C/C++代碼層實現(xiàn)。
[0125] 應用客戶端將所述短信內容串、應用客戶端身份驗證信息以及期望獲取的數(shù)據(jù)訪 問權限列表、應用客戶端在平臺方注冊時分配的應用ID(即注冊過程中所述身份驗證信息 在所述平臺服務端對應的身份標識)發(fā)送給平臺方的授權服務器以獲取訪問令牌,為了保 證安全性,本次網(wǎng)絡請求一般需要基于SSL (Secure Sockets Layer安全套接層),如基于 HTTPS協(xié)議向所述平臺服務端發(fā)送包含第二驗證消息的HTTPS請求。;
[0126] 此后,平臺服務端接收到請求后,對第二驗證消息中的網(wǎng)絡時間戳進行過期驗證, 判斷當前系統(tǒng)時間戳與所述網(wǎng)絡時間戳的差值是否在預設閥值內,若不在反之內,則認為 是一個重放攻擊請求,直接返回相應錯誤信息即可,否則繼續(xù)下一步驟。
[0127] 平臺服務端根據(jù)所述應用ID從數(shù)據(jù)庫中讀取所述應用客戶端在平臺上注冊時 提交應用客戶端包名和包簽名、平臺方給所述應用客戶端干預開通的權限信息,并判斷讀 取到的應用客戶端包名、包簽名與從應用客戶端身份驗證信息中解密得到的應用客戶端包 名、包簽名的值是否一致,若不一致,則認為是一個偽造攻擊請求,直接返回相應錯誤信息 即可,否則繼續(xù)下一步驟;
[0128] 平臺服務端根據(jù)所述短信內容串從所述緩存系統(tǒng)中讀取出對應的手機號,并根據(jù) 所述手機號獲取對應的用戶賬號信息(如果不存在所述賬號信息,則根據(jù)手機號自動注冊 一個用戶賬號),然后根據(jù)所述用戶賬號信息、所述應用ID、平臺方給所述應用客戶端開通 的權限信息、以及所述數(shù)據(jù)訪問權限列表等數(shù)據(jù)生成一個授權訪問令牌。
[0129] 504,平臺服務端向應用客戶端返回所生成的授權訪問令牌。
[0130] OpenAPI是服務型網(wǎng)站常見的一種應用,網(wǎng)站的服務商將自己的網(wǎng)站服務封裝成 一系列API (Application Programming Interface,應用編程接口)開放出去,供第三方開 發(fā)者使用,所開放的API就被稱作OpenAPI。應用客戶端獲取到授權訪問令牌后,即可通過 訪問令牌調用平臺方提供的OpenAPI接口來獲取相應的云能力和用戶數(shù)據(jù)。
[0131] 由于在用戶觸發(fā)手機號一鍵授權請求后,整個過程都不會出現(xiàn)任何其他的用戶界 面,因此,如果有多個平臺都支持該技術,則應用客戶端就可以通過多次接口調用的方式來 完成每個平臺的授權訪問令牌的獲取,從而解決前面提到的第四方面的問題。
[0132] 實施例六
[0133] 圖6是本發(fā)明實施例六提供的平臺授權方法流程圖,本實施例可適用于應用客戶 端請求調用開放平臺中需要終端用戶授權的OpenAPI時獲取授權訪問令牌情況,其中,所 述應用客戶端可以為安裝于終端上的應用軟件、即時通訊客戶端、游戲娛樂客戶端或終端 上的系統(tǒng)工具,即第三方應用。該方法由平臺服務端和應用客戶端來執(zhí)行,如圖6所示,本 實施例所述的平臺授權方法包括。
[0134] S601、應用客戶端通過第一路徑向平臺服務端發(fā)送第一驗證消息,所述第一驗證 消息包括隨機字符串。
[0135] S602、平臺服務端接收應用客戶端通過第一路徑發(fā)送的第一驗證消息并獲取所述 應用客戶端所在終端的終端標識。
[0136] S603、所述平臺服務端對所接收的隨機字符串與所述終端標識之間的映射關系進 行記錄。
[0137] S604、應用客戶端通過預設簽名算法對身份認證信息進行簽名生成簽名值。
[0138] S605、應用客戶端通過第二路徑向所述平臺服務端發(fā)送第二驗證消息,所述第二 驗證消息包括所述隨機字符串,所述簽名值,以及注冊過程中所述身份驗證信息在所述平 臺服務端對應的身份標識。
[0139] S606、所述平臺服務端接收所述應用客戶端通過第二路徑發(fā)送的第二驗證消息。
[0140] S607、所述平臺服務端根據(jù)所接收的所述身份標識從數(shù)據(jù)庫中讀取注冊過程中提 交的身份認證信息,并通過預設簽名算法對所提取的身份認證信息進行簽名生成簽名值。
[0141] S608、如果所述平臺服務端驗證所生成的簽名值與所接收的簽名值一致,則根據(jù) 所述隨機字符串從所記錄的所述映射關系中提取對應的終端標識,并根據(jù)所述終端標識獲 取對應的用戶賬號信息。
[0142] S609、所述平臺服務端根據(jù)所述用戶賬號信息和所述身份認證信息生成授權訪問 令牌,發(fā)送給所述應用客戶端。
[0143] S610、應用客戶端接收所述平臺服務端發(fā)送的授權訪問令牌。
[0144] 本實施例提出的技術方案中各操作的說明詳見實施例一和實施例二的對應操作, 具有實施例一和實施例二的有益效果。
[0145] 本發(fā)明實施例還提供了一種平臺授權系統(tǒng),包括:本發(fā)明任意實施例所提供的平 臺服務端和本發(fā)明任意實施例所提供的應用客戶端。
[0146] 以上實施例提供的技術方案中的全部或部分內容可以通過軟件編程實現(xiàn),其軟件 程序存儲在可讀取的存儲介質中,存儲介質例如:計算機中的硬盤、光盤或軟盤。
[0147] 注意,上述僅為本發(fā)明的較佳實施例及所運用技術原理。本領域技術人員會理解, 本發(fā)明不限于這里所述的特定實施例,對本領域技術人員來說能夠進行各種明顯的變化、 重新調整和替代而不會脫離本發(fā)明的保護范圍。因此,雖然通過以上實施例對本發(fā)明進行 了較為詳細的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構思的情況下,還 可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權利要求范圍決定。
【權利要求】
1. 一種平臺服務端的平臺授權方法,其特征在于,包括: 平臺服務端接收應用客戶端通過第一路徑發(fā)送的第一驗證消息并獲取所述應用客戶 端所在終端的終端標識,所述第一驗證消息包括隨機字符串; 所述平臺服務端對所接收的隨機字符串與所述終端標識之間的映射關系進行記錄; 所述平臺服務端接收所述應用客戶端通過第二路徑發(fā)送的第二驗證消息,所述第二驗 證消息包括所述隨機字符串,所述應用客戶端通過預設簽名算法對身份認證信息進行簽名 生成的簽名值,以及注冊過程中所述身份驗證信息在所述平臺服務端對應的身份標識; 所述平臺服務端根據(jù)所接收的所述身份標識從數(shù)據(jù)庫中讀取注冊過程中提交的身份 認證信息,并通過預設簽名算法對所提取的身份認證信息進行簽名生成簽名值; 如果所述平臺服務端驗證所生成的簽名值與所接收的簽名值一致,則根據(jù)所述隨機字 符串從所記錄的所述映射關系中提取對應的終端標識,并根據(jù)所述終端標識獲取對應的用 戶賬號信息; 所述平臺服務端根據(jù)所述用戶賬號信息和所述身份認證信息生成授權訪問令牌,發(fā)送 給所述應用客戶端。
2. 根據(jù)權利要求1所述的方法,其特征在于,平臺服務端接收應用客戶端通過第一路 徑發(fā)送的第一驗證消息并獲取所述應用客戶端所在終端的終端標識包括: 所述平臺服務端接收所述應用客戶端通過短信網(wǎng)關轉發(fā)的第一驗證消息,其中,所述 第一驗證消息為所述短信網(wǎng)關根據(jù)所述應用客戶端發(fā)送的驗證短信進行協(xié)議格式轉換后 的消息,所述驗證短信中攜帶有所述隨機字符串; 所述平臺服務端從所述第一驗證消息中獲取所述應用客戶端所在終端的終端標識,所 述終端標識為所述短信網(wǎng)關從所述驗證短信中提取的短信發(fā)起方終端標識。
3. 根據(jù)權利要求1所述的方法,其特征在于:所述第二路徑為基于安全超文本傳輸協(xié) 議HTTPS發(fā)送的HTTPS請求。
4. 根據(jù)權利要求1所述的方法,其特征在于,所述第二驗證消息還包括網(wǎng)絡時間戳,如 果所述平臺服務端判斷接收的網(wǎng)絡時間戳與當前系統(tǒng)時間戳之間的差值在預設閾值內,則 觸發(fā)后續(xù)操作。
5. 根據(jù)權利要求1-4任一所述的方法,其特征在于,所述平臺服務端根據(jù)所述用戶賬 號信息和所述身份認證信息生成授權訪問令牌包括: 所述平臺服務端根據(jù)所述用戶賬號信息、所述身份認證信息和所述第二驗證消息所包 括的期望數(shù)據(jù)訪問權限列表生成授權訪問令牌。
6. 根據(jù)權利要求1-4任一所述的方法,其特征在于,所述身份認證信息包括包名和包 簽名。
7. -種應用客戶端的平臺授權方法,其特征在于,包括: 應用客戶端通過第一路徑向平臺服務端發(fā)送第一驗證消息,所述第一驗證消息包括隨 機字符串,以供所述平臺服務端對所述隨機字符串與所述應用客戶端所在終端的終端標識 之間的映射關系進行記錄; 應用客戶端通過預設簽名算法對身份認證信息進行簽名生成簽名值; 應用客戶端通過第二路徑向所述平臺服務端發(fā)送第二驗證消息,所述第二驗證消息包 括所述隨機字符串,所述簽名值,以及注冊過程中所述身份驗證信息在所述平臺服務端對 應的身份標識,以供所述平臺服務端根據(jù)所述身份標識從數(shù)據(jù)庫中讀取注冊過程中提交的 身份認證信息,并通過預設簽名算法對所提取的身份認證信息進行簽名生成簽名值,如果 所述平臺服務端驗證所生成的簽名值與所接收的簽名值一致,則根據(jù)所述隨機字符串從所 記錄的所述映射關系中提取對應的終端標識,并根據(jù)所述終端標識獲取對應的用戶賬號信 息,以及根據(jù)所述用戶賬號信息和所述身份認證信息生成授權訪問令牌; 應用客戶端接收所述平臺服務端發(fā)送的授權訪問令牌。
8. 根據(jù)權利要求7所述的方法,其特征在于,應用客戶端通過第一路徑向平臺服務端 發(fā)送第一驗證消息包括: 所述應用客戶端生成隨機字符串,并創(chuàng)建包含所述隨機字符串且目的地址為所述平臺 服務端的驗證短信; 所述應用客戶端發(fā)送所述驗證短信至短信網(wǎng)關,以指示所述短信網(wǎng)關將所述驗證短信 進行協(xié)議轉換并提取所述驗證短信的短信發(fā)起方終端標識,生成包含所述隨機字符串的第 一驗證消息,向所述平臺服務端發(fā)送。
9. 根據(jù)權利要求7或8所述的方法,其特征在于,應用客戶端通過第二路徑向所述平臺 服務端發(fā)送第二驗證消息具體包括: 所述應用客戶端基于安全超文本傳輸協(xié)議HTTPS向所述平臺服務端發(fā)送包含第二驗 證消息的HTTPS請求。
10. 根據(jù)權利要求7所述的方法,其特征在于,應用客戶端通過第二路徑向所述平臺服 務端發(fā)送第二驗證消息的操作具體包括:應用客戶端在發(fā)送所述第一驗證消息的同時或發(fā) 送所述第一驗證消息成功之后,通過第二路徑向所述平臺服務端發(fā)送第二驗證消息。
11. 一種平臺授權方法,其特征在于,包括: 應用客戶端通過第一路徑向平臺服務端發(fā)送第一驗證消息,所述第一驗證消息包括隨 機字符串; 平臺服務端接收應用客戶端通過第一路徑發(fā)送的第一驗證消息并獲取所述應用客戶 端所在終端的終端標識; 所述平臺服務端對所接收的隨機字符串與所述終端標識之間的映射關系進行記錄; 應用客戶端通過預設簽名算法對身份認證信息進行簽名生成簽名值; 應用客戶端通過第二路徑向所述平臺服務端發(fā)送第二驗證消息,所述第二驗證消息包 括所述隨機字符串,所述簽名值,以及注冊過程中所述身份驗證信息在所述平臺服務端對 應的身份標識; 所述平臺服務端接收所述應用客戶端通過第二路徑發(fā)送的第二驗證消息; 所述平臺服務端根據(jù)所接收的所述身份標識從數(shù)據(jù)庫中讀取注冊過程中提交的身份 認證信息,并通過預設簽名算法對所提取的身份認證信息進行簽名生成簽名值; 如果所述平臺服務端驗證所生成的簽名值與所接收的簽名值一致,則根據(jù)所述隨機字 符串從所記錄的所述映射關系中提取對應的終端標識,并根據(jù)所述終端標識獲取對應的用 戶賬號信息; 所述平臺服務端根據(jù)所述用戶賬號信息和所述身份認證信息生成授權訪問令牌,發(fā)送 給所述應用客戶端; 應用客戶端接收所述平臺服務端發(fā)送的授權訪問令牌。
12. -種平臺服務端,其特征在于,包括: 第一驗證消息接收單元,用于接收應用客戶端通過第一路徑發(fā)送的第一驗證消息并獲 取所述應用客戶端所在終端的終端標識,所述第一驗證消息包括隨機字符串; 映射關系記錄單元,用于對所接收的隨機字符串與所述終端標識之間的映射關系進行 記錄; 第二驗證消息接收單元,用于接收所述應用客戶端通過第二路徑發(fā)送的第二驗證消 息,所述第二驗證消息包括所述隨機字符串,所述應用客戶端通過預設簽名算法對身份認 證信息進行簽名生成的簽名值,以及注冊過程中所述身份驗證信息在所述平臺服務端對應 的身份標識; 信息提取和簽名單元,用于根據(jù)所接收的所述身份標識從數(shù)據(jù)庫中讀取注冊過程中提 交的身份認證信息,并通過預設簽名算法對所提取的身份認證信息進行簽名生成簽名值; 賬號信息獲取單元,用于如果驗證所生成的簽名值與所接收的簽名值一致,則根據(jù)所 述隨機字符串從所記錄的所述映射關系中提取對應的終端標識,并根據(jù)所述終端標識獲取 對應的用戶賬號信息; 授權單元,用于根據(jù)所述用戶賬號信息和所述身份認證信息生成授權訪問令牌,發(fā)送 給所述應用客戶端。
13. 根據(jù)權利要求12所述的平臺服務端,其特征在于,所述第一驗證消息接收單元具 體用于: 接收所述應用客戶端通過短信網(wǎng)關轉發(fā)的第一驗證消息,其中,所述第一驗證消息為 所述短信網(wǎng)關根據(jù)所述應用客戶端發(fā)送的驗證短信進行協(xié)議格式轉換后的消息,所述驗證 短信中攜帶有所述隨機字符串; 從所述第一驗證消息中獲取所述應用客戶端所在終端的終端標識,所述終端標識為所 述短信網(wǎng)關從所述驗證短信中提取的短信發(fā)起方終端標識。
14. 根據(jù)權利要求12所述的平臺服務端,其特征在于: 所述賬號信息獲取單元還包括時間戳判定子單元,用于在通過預設簽名算法對所提取 的身份認證信息進行簽名生成簽名值之后,如果判斷所述第二驗證消息包括的網(wǎng)絡時間戳 與當前系統(tǒng)時間戳之間的差值在預設閾值內,則觸發(fā)后續(xù)操作。
15. 根據(jù)權利要求12-14任一所述的平臺服務端,其特征在于: 所述第二路徑為基于安全超文本傳輸協(xié)議HTTPS發(fā)送的HTTPS請求; 所述身份認證信息包括包名和包簽名; 所述終端的標識為手機號。
16. -種應用客戶端,其特征在于,包括: 第一驗證消息發(fā)送單元,用于通過第一路徑向平臺服務端發(fā)送第一驗證消息,所述第 一驗證消息包括隨機字符串,以供所述平臺服務端對所述隨機字符串與所述應用客戶端所 在終端的終端標識之間的映射關系進行記錄; 簽名單元,用于通過預設簽名算法對身份認證信息進行簽名生成簽名值; 第二驗證消息發(fā)送單元,用于通過第二路徑向所述平臺服務端發(fā)送第二驗證消息,所 述第二驗證消息包括所述隨機字符串,所述簽名值,以及注冊過程中所述身份驗證信息在 所述平臺服務端對應的身份標識,以供所述平臺服務端根據(jù)所述身份標識從數(shù)據(jù)庫中讀取 注冊過程中提交的身份認證信息,并通過預設簽名算法對所提取的身份認證信息進行簽名 生成簽名值,如果所述平臺服務端驗證所生成的簽名值與所接收的簽名值一致,則根據(jù)所 述隨機字符串從所記錄的所述映射關系中提取對應的終端標識,并根據(jù)所述終端標識獲取 對應的用戶賬號信息,以及根據(jù)所述用戶賬號信息和所述身份認證信息生成授權訪問令 牌; 授權訪問令牌接收單元,用于接收所述平臺服務端發(fā)送的授權訪問令牌。
17. 根據(jù)權利要求16所述的應用客戶端,其特征在于,所述第一驗證消息發(fā)送單元具 體用于:生成隨機字符串,并創(chuàng)建包含所述隨機字符串且目的地址為所述平臺服務端的驗 證短信;以及, 發(fā)送所述驗證短信至短信網(wǎng)關,以指示所述短信網(wǎng)關將所述驗證短信進行協(xié)議轉換并 提取所述驗證短信的短信發(fā)起方終端標識,生成包含所述隨機字符串的第一驗證消息,向 所述平臺服務端發(fā)送; 所述第二驗證消息發(fā)送單元具體用于:基于安全超文本傳輸協(xié)議HTTPS向所述平臺服 務端發(fā)送包含第二驗證消息的HTTPS請求。
18. -種平臺授權系統(tǒng),其特征在于,包括: 權利要求12-15任一所述的平臺服務端和權利要求16-17任一所述的應用客戶端。
【文檔編號】H04L29/06GK104158802SQ201410364286
【公開日】2014年11月19日 申請日期:2014年7月28日 優(yōu)先權日:2014年7月28日
【發(fā)明者】朱建庭, 鄭偉德, 張弛 申請人:百度在線網(wǎng)絡技術(北京)有限公司