一種開放授權(quán)、資源訪問的方法及裝置、服務(wù)器的制造方法
【專利摘要】本申請(qǐng)公開了一種開放授權(quán)的方法及裝置,該方法包括:資源服務(wù)器接收第三方應(yīng)用發(fā)起的資源調(diào)用請(qǐng)求;對(duì)所述用戶的身份認(rèn)證通過后,獲取所述用戶當(dāng)前使用的客戶端設(shè)備的身份標(biāo)識(shí)ID;生成令牌token并發(fā)送至所述第三方應(yīng)用;所述token包括所述客戶端設(shè)備的ID、所述資源服務(wù)器的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述資源服務(wù)器的用戶名、所述第三方應(yīng)用的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名以及所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí)。本申請(qǐng)還公開一種資源訪問的方法及裝置、服務(wù)器。采用本申請(qǐng)實(shí)施例,能夠增強(qiáng)開放授權(quán)的安全性,以解決現(xiàn)有技術(shù)中資源被惡意盜用的問題。
【專利說明】
一種開放授權(quán)、資源訪問的方法及裝置、服務(wù)器
技術(shù)領(lǐng)域
[0001]本申請(qǐng)涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種開放授權(quán)、資源訪問的方法及裝置、月艮務(wù)器。
【背景技術(shù)】
[0002]OAuth(Open Authorizat1n,開放授權(quán))協(xié)議是一個(gè)開放標(biāo)準(zhǔn),允許用戶讓第三方應(yīng)用訪問該用戶在某一網(wǎng)站上存儲(chǔ)的私密的資源(例如照片、視頻、聯(lián)系人列表等),而無需將用戶名和密碼提供給第三方應(yīng)用。
[0003]OAuth協(xié)議的基本原理:用戶授權(quán)一個(gè)第三方應(yīng)用后,待訪問資源所在網(wǎng)站對(duì)應(yīng)的認(rèn)證授權(quán)服務(wù)器會(huì)頒發(fā)一個(gè)access token (訪問令牌),并交給第三方應(yīng)用保存。授權(quán)完成后,第三方應(yīng)用使用該access token來獲取該待訪問資源。
[0004]現(xiàn)有技術(shù)中,該access token由第三方應(yīng)用保存,持有該access toke就具有對(duì)用戶資源的訪問權(quán)限。如果該access toke泄露或被惡意盜取后,很容易導(dǎo)致用戶資源被濫用,而被訪問資源的用戶卻無法感知。
【發(fā)明內(nèi)容】
[0005]本申請(qǐng)?zhí)峁┮环N開放授權(quán)、資源訪問的方法及裝置、服務(wù)器,增強(qiáng)開放授權(quán)的安全性,以解決現(xiàn)有技術(shù)中資源被惡意盜用的問題。
[0006]根據(jù)本申請(qǐng)實(shí)施例的第一方面,提供一種開放授權(quán)的方法,所述方法包括:
[0007]資源服務(wù)器接收第三方應(yīng)用發(fā)起的資源調(diào)用請(qǐng)求;其中,所述資源調(diào)用請(qǐng)求中包括所述第三方應(yīng)用的標(biāo)識(shí)、用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名和所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí);
[0008]對(duì)所述用戶的身份認(rèn)證通過后,獲取所述用戶當(dāng)前使用的客戶端設(shè)備的身份標(biāo)識(shí)ID ;
[0009]生成令牌token并發(fā)送至所述第三方應(yīng)用;所述token包括所述客戶端設(shè)備的ID、所述資源服務(wù)器的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述資源服務(wù)器的用戶名、所述第三方應(yīng)用的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名以及所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí)。
[0010]根據(jù)本申請(qǐng)實(shí)施例的第二方面,提供一種資源訪問的方法,所述方法包括:
[0011]資源服務(wù)器接收第三方應(yīng)用發(fā)起的資源訪問請(qǐng)求;其中,所述資源訪問請(qǐng)求中包括令牌token ;所述token包括授權(quán)客戶端設(shè)備的身份標(biāo)識(shí)ID、所述資源服務(wù)器的標(biāo)識(shí)、用戶對(duì)應(yīng)所述資源服務(wù)器的用戶名、所述第三方應(yīng)用的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名以及所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí);
[0012]對(duì)所述token的認(rèn)證通過后,獲取所述用戶當(dāng)前使用的客戶端設(shè)備的ID ;
[0013]將所述用戶當(dāng)前使用的客戶端設(shè)備的ID與所述token中攜帶的授權(quán)客戶端設(shè)備的身份標(biāo)識(shí)ID進(jìn)行比對(duì);
[0014]當(dāng)所述比對(duì)結(jié)果為一致時(shí),發(fā)送資源訪問請(qǐng)求通過的消息至所述第三方應(yīng)用。
[0015]根據(jù)本申請(qǐng)實(shí)施例的第三方面,提供一種開放授權(quán)的裝置,所述裝置包括:
[0016]接收單元,用于接收第三方應(yīng)用發(fā)起的資源調(diào)用請(qǐng)求;其中,所述資源調(diào)用請(qǐng)求中包括所述第三方應(yīng)用的標(biāo)識(shí)、用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名和所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí);
[0017]身份標(biāo)識(shí)獲取單元,用于對(duì)所述用戶的身份認(rèn)證通過后,獲取所述用戶當(dāng)前使用的客戶端設(shè)備的身份標(biāo)識(shí)ID ;
[0018]生成單元,用于生成令牌token ;所述token包括所述客戶端設(shè)備的ID、所述資源服務(wù)器的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述資源服務(wù)器的用戶名、所述第三方應(yīng)用的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名以及所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí)
[0019]發(fā)送單元,用于將所述token發(fā)送至所述第三方應(yīng)用。
[0020]根據(jù)本申請(qǐng)實(shí)施例的第四方面,提供一種資源訪問的裝置,所述裝置包括:
[0021]接收單元,用于接收第三方應(yīng)用發(fā)起的資源訪問請(qǐng)求;其中,所述資源訪問請(qǐng)求中包括令牌token ;所述token包括授權(quán)客戶端設(shè)備的身份標(biāo)識(shí)ID、所述資源服務(wù)器的標(biāo)識(shí)、用戶對(duì)應(yīng)所述資源服務(wù)器的用戶名、所述第三方應(yīng)用的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名以及所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí);
[0022]身份標(biāo)識(shí)獲取單元,用于對(duì)所述token的認(rèn)證通過后,獲取所述用戶當(dāng)前使用的客戶端設(shè)備的ID ;
[0023]比對(duì)單元,用于將所述用戶當(dāng)前使用的客戶端設(shè)備的ID與所述token中攜帶的授權(quán)客戶端設(shè)備的身份標(biāo)識(shí)ID進(jìn)行比對(duì);
[0024]發(fā)送單元,用于當(dāng)所述比對(duì)結(jié)果為一致時(shí),發(fā)送資源訪問請(qǐng)求通過的消息至所述第三方應(yīng)用。
[0025]根據(jù)本申請(qǐng)實(shí)施例的第五方面,提供一種服務(wù)器,包括:
[0026]處理器;用于存儲(chǔ)所述處理器可執(zhí)行指令的存儲(chǔ)器;
[0027]其中,所述處理器被配置為:
[0028]資源服務(wù)器接收第三方應(yīng)用發(fā)起的資源調(diào)用請(qǐng)求;其中,所述資源調(diào)用請(qǐng)求中包括所述第三方應(yīng)用的標(biāo)識(shí)、用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名和所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí);
[0029]對(duì)所述用戶的身份認(rèn)證通過后,獲取所述用戶當(dāng)前使用的客戶端設(shè)備的身份標(biāo)識(shí)ID ;
[0030]生成令牌token并發(fā)送至所述第三方應(yīng)用;所述token包括所述客戶端設(shè)備的ID、所述資源服務(wù)器的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述資源服務(wù)器的用戶名、所述第三方應(yīng)用的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名以及所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí)。
[0031]根據(jù)本申請(qǐng)實(shí)施例的第六方面,提供一種服務(wù)器,包括:
[0032]處理器;用于存儲(chǔ)所述處理器可執(zhí)行指令的存儲(chǔ)器;
[0033]其中,所述處理器被配置為:
[0034]資源服務(wù)器接收第三方應(yīng)用發(fā)起的資源訪問請(qǐng)求;其中,所述資源訪問請(qǐng)求中包括令牌token ;所述token包括授權(quán)客戶端設(shè)備的身份標(biāo)識(shí)ID、所述資源服務(wù)器的標(biāo)識(shí)、用戶對(duì)應(yīng)所述資源服務(wù)器的用戶名、所述第三方應(yīng)用的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名以及所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí);
[0035]對(duì)所述token的認(rèn)證通過后,獲取所述用戶當(dāng)前使用的客戶端設(shè)備的ID ;
[0036]將所述用戶當(dāng)前使用的客戶端設(shè)備的ID與所述token中攜帶的授權(quán)客戶端設(shè)備的身份標(biāo)識(shí)ID進(jìn)行比對(duì);
[0037]當(dāng)所述比對(duì)結(jié)果為一致時(shí),發(fā)送資源訪問請(qǐng)求通過的消息至所述第三方應(yīng)用。
[0038]本申請(qǐng)實(shí)施例中,在資源服務(wù)器接收到第三方應(yīng)用的資源調(diào)用請(qǐng)求時(shí),并不直接發(fā)送token給該第三方應(yīng)用,而是需要從用戶當(dāng)前使用的客戶端設(shè)備中獲取該客戶端設(shè)備的ID,并將該客戶端設(shè)備的ID寫入token后再發(fā)送給第三方應(yīng)用。由此使得,當(dāng)該第三方應(yīng)用發(fā)起資源訪問請(qǐng)求,將token發(fā)送至資源服務(wù)器時(shí),資源服務(wù)器不僅需要對(duì)token進(jìn)行常規(guī)認(rèn)證,還需要確認(rèn)當(dāng)前該用戶使用的客戶端設(shè)備的ID與該token中攜帶的客戶端設(shè)備的ID是否一致,只有二者一致時(shí),才同意該第三方應(yīng)用的資源訪問請(qǐng)求。
[0039]由此使得,用戶只有通過被授權(quán)的客戶端設(shè)備上的第三方應(yīng)用才可以訪問該資源,可以有效避免toke泄露或被惡意盜取后的用戶資源被濫用問題,加強(qiáng)了開放性授權(quán)的安全性,有利于保護(hù)用戶隱私。
【附圖說明】
[0040]圖1為本申請(qǐng)開放授權(quán)的方法的一個(gè)實(shí)施例的流程圖;
[0041]圖2為本申請(qǐng)開放授權(quán)的方法的另一個(gè)實(shí)施例的流程圖;
[0042]圖3為本申請(qǐng)資源訪問的方法的一個(gè)實(shí)施例的流程圖;
[0043]圖4為本申請(qǐng)資源訪問的方法的另一個(gè)實(shí)施例的流程圖;
[0044]圖5為本申請(qǐng)開放授權(quán)的裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖;
[0045]圖6為本申請(qǐng)開放授權(quán)的裝置的一個(gè)實(shí)施例框圖;
[0046]圖7為本申請(qǐng)資源訪問的裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖;
[0047]圖8為本申請(qǐng)的資源訪問的裝置的一個(gè)實(shí)施例框圖。
【具體實(shí)施方式】
[0048]這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本申請(qǐng)相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請(qǐng)的一些方面相一致的裝置和方法的例子。
[0049]在本申請(qǐng)使用的術(shù)語是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本申請(qǐng)。在本申請(qǐng)和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指并包含一個(gè)或多個(gè)相關(guān)聯(lián)的列出項(xiàng)目的任何或所有可能組合。
[0050]應(yīng)當(dāng)理解,盡管在本申請(qǐng)可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請(qǐng)范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”。
[0051]目前,不同網(wǎng)絡(luò)服務(wù)間的內(nèi)容共享一般都采用OAuth協(xié)議來實(shí)現(xiàn),其允許用戶讓第三方應(yīng)用訪問該用戶在某一網(wǎng)站上存儲(chǔ)的私密的資源,而無需將用戶名和密碼提供給第三方應(yīng)用。具體的,OAuth允許待訪問資源所在網(wǎng)站的認(rèn)證授權(quán)服務(wù)器產(chǎn)生一個(gè)accesstoken,該access token限定了第三方應(yīng)用可以在特定的時(shí)間內(nèi)訪問特定的資源。由此使得,第三方應(yīng)用只需持有該access token,就可以訪問該用戶的某些資源,而不用暴露用戶在該網(wǎng)站的用戶名和密碼,有利于保護(hù)用戶在網(wǎng)站存儲(chǔ)信息的安全。但是,該方法存在的弊端在于:如果該access token泄露或被惡意盜取,則很容易導(dǎo)致用戶資源被盜取甚至于被惡意濫用。而本申請(qǐng)實(shí)施例所述的方法,可以有效增強(qiáng)開放授權(quán)的安全性,進(jìn)一步確保用戶資源的安全性。
[0052]參照?qǐng)D1,為本申請(qǐng)開放授權(quán)的方法的一個(gè)實(shí)施例的流程圖。所述方法用于資源服務(wù)器,所述方法可以包括以下步驟:
[0053]步驟101:資源服務(wù)器接收第三方應(yīng)用發(fā)起的資源調(diào)用請(qǐng)求;其中,所述資源調(diào)用請(qǐng)求中包括所述第三方應(yīng)用的標(biāo)識(shí)、用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名和所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí)。
[0054]步驟102:對(duì)所述用戶的身份認(rèn)證通過后,獲取所述用戶當(dāng)前使用的客戶端設(shè)備的ID (Identity,身份標(biāo)識(shí))。
[0055]步驟103:生成token (令牌)并發(fā)送至所述第三方應(yīng)用;所述token包括所述客戶端設(shè)備的ID、所述資源服務(wù)器的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述資源服務(wù)器的用戶名、所述第三方應(yīng)用的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名以及所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí)O
[0056]本申請(qǐng)實(shí)施例中,在資源服務(wù)器接收到第三方應(yīng)用的資源調(diào)用請(qǐng)求時(shí),并不直接發(fā)送token給該第三方應(yīng)用,而是需要從用戶當(dāng)前使用的客戶端設(shè)備中獲取該客戶端設(shè)備的ID,并將該客戶端設(shè)備的ID寫入token后再發(fā)送給第三方應(yīng)用。由此使得,當(dāng)該第三方應(yīng)用發(fā)起資源訪問請(qǐng)求,將token發(fā)送至資源服務(wù)器時(shí),資源服務(wù)器不僅需要對(duì)token進(jìn)行常規(guī)認(rèn)證,還需要確認(rèn)當(dāng)前該用戶使用的客戶端設(shè)備的ID與該token中攜帶的客戶端設(shè)備的ID是否一致,只有二者一致時(shí),才同意該第三方應(yīng)用的資源訪問請(qǐng)求。
[0057]由此使得,用戶只有通過該客戶端設(shè)備上的第三方應(yīng)用才可以訪問該資源,可以有效避免toke泄露或被惡意盜取后的用戶資源被濫用問題,加強(qiáng)了開放性授權(quán)的安全性,有利于保護(hù)用戶隱私。
[0058]參照?qǐng)D2,為本申請(qǐng)開放授權(quán)的方法的另一個(gè)實(shí)施例的流程圖。所述方法用于資源服務(wù)器,所述方法可以包括以下步驟:
[0059]步驟201:用戶在客戶端設(shè)備上安裝設(shè)備認(rèn)證客戶端,該設(shè)備認(rèn)證客戶端中保存有該客戶端設(shè)備的ID。
[0060]本申請(qǐng)實(shí)施例中,該設(shè)備認(rèn)證客戶端可以直接獲取該客戶端設(shè)備的MAC (MediaAccess Control,媒體訪問控制)地址、設(shè)備編號(hào)等作為該客戶端設(shè)備的ID。該設(shè)備認(rèn)證客戶端也可以為該客戶端設(shè)備生成唯一的ID。
[0061]當(dāng)然,也可以由該設(shè)備認(rèn)證客戶端推送ID設(shè)定界面給用戶,并接收用戶為該客戶端設(shè)備設(shè)定的ID等。
[0062]具體的,用戶可以在客戶端設(shè)備上安裝數(shù)字證書代理Agent作為該設(shè)備認(rèn)證客戶端。
[0063]該數(shù)字證書代理Agent可以為該客戶端設(shè)備生成一串?dāng)?shù)字認(rèn)證碼,用于標(biāo)識(shí)該客戶端設(shè)備的身份信息。
[0064]步驟202:用戶通過該客戶端設(shè)備登錄第三方應(yīng)用。
[0065]本申請(qǐng)實(shí)施例中,用戶通過該客戶端設(shè)備訪問第三方應(yīng)用。具體的,用戶點(diǎn)擊該客戶端設(shè)備上顯示的第三方應(yīng)用的圖標(biāo),打開該第三方應(yīng)用的登錄界面;用戶在該第三方應(yīng)用的登錄界面中輸入正確的用戶名和密碼,登錄該第三方應(yīng)用。
[0066]步驟203:當(dāng)該第三方應(yīng)用需要使用該用戶保存在某資源服務(wù)器上的某個(gè)資源時(shí),該第三方應(yīng)用向該資源服務(wù)器發(fā)起資源調(diào)用請(qǐng)求,該資源調(diào)用請(qǐng)求中包括該第三方應(yīng)用的標(biāo)識(shí)、該用戶對(duì)應(yīng)該第三方應(yīng)用的用戶名和該第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí)。
[0067]例如,假設(shè)當(dāng)前用戶通過該客戶端設(shè)備登錄的第三方應(yīng)用為微信。當(dāng)用戶打開微信中的某條日志時(shí),需要加載該用戶保存在資源服務(wù)器(例如百度云)上的某張圖片a。則微信向百度云發(fā)起資源調(diào)用請(qǐng)求,該資源調(diào)用請(qǐng)求中包括該第三方應(yīng)用的標(biāo)識(shí)(即為微信)、該用戶對(duì)應(yīng)微信的用戶名和該微信請(qǐng)求的資源的標(biāo)識(shí)(即為圖片a)。
[0068]步驟204:該資源服務(wù)器接收到該資源調(diào)用請(qǐng)求時(shí),通過該客戶端設(shè)備向用戶推送登錄界面。
[0069]本申請(qǐng)實(shí)施例中,當(dāng)該資源服務(wù)器接收到第三方應(yīng)用發(fā)送的資源調(diào)用請(qǐng)求時(shí),通過該客戶端設(shè)備推送登錄界面,對(duì)當(dāng)前用戶進(jìn)行身份認(rèn)證。具體的,該資源服務(wù)器通過該客戶端設(shè)備推送登錄界面給用戶,接收用戶輸入的用戶名和密碼,并對(duì)該用戶名和密碼進(jìn)行認(rèn)證。
[0070]步驟205:該資源服務(wù)器完成對(duì)該用戶的身份認(rèn)證后,訪問該客戶端設(shè)備上安裝的設(shè)備認(rèn)證客戶端,獲取其中保存的該客戶端設(shè)備的ID。
[0071]本申請(qǐng)實(shí)施例中,當(dāng)該用戶成功登錄了該資源服務(wù)器后,該資源服務(wù)器進(jìn)一步的,需要獲取該客戶端設(shè)備上安裝的設(shè)備認(rèn)證客戶端中保存的該客戶端設(shè)備的ID。
[0072]步驟206:該資源服務(wù)器通過該客戶端設(shè)備推送確認(rèn)消息給用戶,該確認(rèn)消息中包括該客戶端設(shè)備的ID、該資源服務(wù)器的標(biāo)識(shí)、該用戶對(duì)應(yīng)該資源服務(wù)器的用戶名、該第三方應(yīng)用的標(biāo)識(shí)、該用戶對(duì)應(yīng)該第三方應(yīng)用的用戶名以及該第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí)。
[0073]則,本申請(qǐng)實(shí)施例中,資源服務(wù)器從設(shè)備認(rèn)證客戶端中獲取了該客戶端設(shè)備的ID后,推送確認(rèn)消息給用戶。通過該確認(rèn)消息,詢問當(dāng)前用戶,是否允許該第三方應(yīng)用(由上述第三方應(yīng)用的標(biāo)識(shí)確定)的上用戶(由上述對(duì)應(yīng)該第三方應(yīng)用的用戶名確定)通過該客戶端設(shè)備(由上述客戶端設(shè)備的ID確定)訪問資源服務(wù)器的用戶(由上述對(duì)應(yīng)該資源服務(wù)器的用戶名確定)的資源(由上述該第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí)確定)。
[0074]假設(shè),該第三方應(yīng)用為微信,該資源服務(wù)器為百度云;該用戶對(duì)應(yīng)百度云的用戶名為A,該用戶對(duì)應(yīng)微信的用戶名為B,微信請(qǐng)求的資源的標(biāo)識(shí)為圖片a。該客戶端設(shè)備的ID為 ID_10
[0075]貝lj,本申請(qǐng)實(shí)施例中,該確認(rèn)消息用于詢問當(dāng)前用戶,是否允許微信的用戶B通過該ID為ID_1的客戶端設(shè)備訪問百度云的用戶A的圖片a。
[0076]步驟207:該資源服務(wù)器接收到用戶返回的確認(rèn)通過的消息時(shí),通知授權(quán)中心生成token并發(fā)送至該第三方應(yīng)用;該token中包括該客戶端設(shè)備的ID、該資源服務(wù)器的標(biāo)識(shí)、該用戶對(duì)應(yīng)該資源服務(wù)器的用戶名、該第三方應(yīng)用的標(biāo)識(shí)、該用戶對(duì)應(yīng)該第三方應(yīng)用的用戶名以及該第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí)。
[0077]步驟208:該第三方應(yīng)用保存該token,用于訪問上述請(qǐng)求的資源。
[0078]本申請(qǐng)實(shí)施例中,在客戶端設(shè)備上安裝設(shè)備認(rèn)證客戶端,該設(shè)備認(rèn)證客戶端中保存有該客戶端設(shè)備的ID。在資源服務(wù)器接收到第三方應(yīng)用的資源調(diào)用請(qǐng)求時(shí),資源服務(wù)器并不直接通知授權(quán)中心發(fā)送token給該第三方應(yīng)用,而是需要從該設(shè)備認(rèn)證服務(wù)器中獲取該客戶端設(shè)備的ID ;并推送確認(rèn)消息給當(dāng)前用戶,詢問該用戶是否同意該第三方應(yīng)用通過該客戶端設(shè)備訪問其保存在該資源服務(wù)器上的資源;只有在用戶返回確認(rèn)信息時(shí),資源服務(wù)器才通知授權(quán)中心發(fā)送token給第三方應(yīng)用,且該token中保存有該客戶端設(shè)備的ID。
[0079]由此使得,用戶只有通過該客戶端設(shè)備上的第三方應(yīng)用才可以訪問該資源,可以有效避免toke泄露或被惡意盜取后的用戶資源被濫用問題,加強(qiáng)了開放性授權(quán)的安全性,有利于保護(hù)用戶隱私。
[0080]參照?qǐng)D3,為本申請(qǐng)資源訪問的方法的一個(gè)實(shí)施例的流程圖。所述方法可以包括以下步驟:
[0081]步驟301:資源服務(wù)器接收第三方應(yīng)用發(fā)起的資源訪問請(qǐng)求;其中,所述資源訪問請(qǐng)求中包括令牌token ;所述token包括授權(quán)客戶端設(shè)備的身份標(biāo)識(shí)ID、所述資源服務(wù)器的標(biāo)識(shí)、用戶對(duì)應(yīng)所述資源服務(wù)器的用戶名、所述第三方應(yīng)用的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名以及所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí)。
[0082]步驟302:對(duì)所述token的認(rèn)證通過后,獲取所述用戶當(dāng)前使用的客戶端設(shè)備的ID0
[0083]步驟303:將所述用戶當(dāng)前使用的客戶端設(shè)備的ID與所述token中攜帶的授權(quán)客戶端設(shè)備的身份標(biāo)識(shí)ID進(jìn)行比對(duì)。
[0084]步驟304:當(dāng)所述比對(duì)結(jié)果為一致時(shí),發(fā)送資源訪問請(qǐng)求通過的消息至所述第三方應(yīng)用。
[0085]本申請(qǐng)實(shí)施例中,當(dāng)用戶希望通過某客戶端設(shè)備上的第三方應(yīng)用訪問該用戶在某資源服務(wù)器的資源時(shí),第三方應(yīng)用向該資源服務(wù)器發(fā)送的token中包括該用戶當(dāng)前使用的客戶端設(shè)備的ID ;該資源服務(wù)器接收到該token后,獲取該用戶當(dāng)前使用的客戶端設(shè)備的ID,將其與該token中攜帶的客戶端設(shè)備的ID相比對(duì);當(dāng)二者一致時(shí),資源服務(wù)器才同意該第三方應(yīng)用的資源訪問請(qǐng)求。
[0086]由此使得,用戶只有通過該客戶端設(shè)備上的第三方應(yīng)用才可以訪問該資源,可以有效避免toke泄露或被惡意盜取后的用戶資源被濫用問題,加強(qiáng)了開放性授權(quán)的安全性,有利于保護(hù)用戶隱私。
[0087]參照?qǐng)D4,為本申請(qǐng)的資源訪問的方法的一個(gè)實(shí)施例的流程圖。所述方法用于資源服務(wù)器,所述方法可以包括以下步驟:
[0088]步驟401:用戶通過客戶端設(shè)備登錄第三方應(yīng)用。
[0089]本申請(qǐng)實(shí)施例中,用戶通過客戶端設(shè)備訪問第三方應(yīng)用。具體的,用戶點(diǎn)擊該客戶端設(shè)備上顯示的第三方應(yīng)用的圖標(biāo),打開該第三方應(yīng)用的登錄界面;用戶在該第三方應(yīng)用的登錄界面中輸入正確的用戶名和密碼,登錄該第三方應(yīng)用。
[0090]步驟402:當(dāng)該第三方應(yīng)用需要使用該用戶保存在某資源服務(wù)器上的某個(gè)資源時(shí),第三方應(yīng)用向該資源服務(wù)器發(fā)送資源訪問請(qǐng)求;該資源訪問請(qǐng)求中包括token;該token中包括授權(quán)客戶端設(shè)備的ID、該資源服務(wù)器的標(biāo)識(shí)、該用戶對(duì)應(yīng)該資源服務(wù)器的用戶名、該第三方應(yīng)用的標(biāo)識(shí)、該用戶對(duì)應(yīng)該第三方應(yīng)用的用戶名以及該第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí)。
[0091]本申請(qǐng)實(shí)施例中,當(dāng)?shù)谌綉?yīng)用需要使用用戶保存在某個(gè)資源服務(wù)器上的某個(gè)資源時(shí),需要向該資源服務(wù)器發(fā)送token,該token用于向該資源服務(wù)器表示:第三方應(yīng)用的某用戶可以通過授權(quán)客戶端設(shè)備使用該資源服務(wù)器上某用戶的某個(gè)資源。然后等待該資源服務(wù)器對(duì)該token進(jìn)行認(rèn)證。
[0092]步驟403:資源服務(wù)器通知其授權(quán)中心對(duì)該token進(jìn)行認(rèn)證。
[0093]步驟404:當(dāng)授權(quán)中心對(duì)該token的認(rèn)證通過后,資源服務(wù)器訪問該用戶當(dāng)前使用的客戶端設(shè)備上安裝的設(shè)備認(rèn)證客戶端,獲取其中保存的該客戶端設(shè)備的ID。
[0094]步驟405:資源服務(wù)器將獲取的所述用戶當(dāng)前使用的客戶端設(shè)備的ID與所述token中攜帶的客戶端設(shè)備的ID進(jìn)行比對(duì)。
[0095]本申請(qǐng)實(shí)施例中,資源服務(wù)器從該用戶當(dāng)前使用的客戶端設(shè)備的設(shè)備認(rèn)證服務(wù)器中獲取該客戶端設(shè)備的ID,并將其與token中包括的客戶端設(shè)備相比對(duì)。如果二者一致,則授權(quán)中心可以確定當(dāng)前要求進(jìn)行資源訪問的第三方應(yīng)用所使用的客戶端設(shè)備是該token中授權(quán)的客戶端設(shè)備,則同意該資源訪問請(qǐng)求;如果二者不一致,則授權(quán)中心可以確定當(dāng)前要求進(jìn)行資源訪問的第三方應(yīng)用所使用的客戶端設(shè)備不是該token中授權(quán)的客戶端設(shè)備,則該資源訪問請(qǐng)求不通過。
[0096]步驟406:當(dāng)所述比對(duì)結(jié)果為一致時(shí),資源服務(wù)器發(fā)送資源訪問請(qǐng)求通過的消息至所述第三方應(yīng)用,同意該第三方應(yīng)用的資源訪問請(qǐng)求。
[0097]在實(shí)際應(yīng)用中,當(dāng)資源服務(wù)器確定該對(duì)比結(jié)果為一致時(shí),為了進(jìn)一步確保資源訪問的安全性,還可以包括:資源服務(wù)器推送確認(rèn)消息給用戶,該確認(rèn)消息中包括該客戶端設(shè)備的ID、該用戶對(duì)應(yīng)該資源服務(wù)器的用戶名、該第三方應(yīng)用的標(biāo)識(shí)、該用戶對(duì)應(yīng)該第三方應(yīng)用的用戶名以及該第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí)。
[0098]通過上述方法可以使得,資源服務(wù)器通過該確認(rèn)消息詢問當(dāng)前用戶,是否允許某第三方應(yīng)用的某用戶通過該客戶端設(shè)備訪問某資源服務(wù)器的某用戶的某個(gè)資源。
[0099]假設(shè),該第三方應(yīng)用為微信,該資源服務(wù)器為百度云;該用戶對(duì)應(yīng)百度云的用戶名為A,該用戶對(duì)應(yīng)微信的用戶名為B,微信請(qǐng)求的資源的標(biāo)識(shí)為圖片a。該客戶端設(shè)備的ID為 ID_10
[0100]本申請(qǐng)實(shí)施例中,該確認(rèn)消息用于詢問當(dāng)前用戶,是否允許微信的用戶B通過該ID為ID_1的客戶端設(shè)備訪問百度云的用戶A的圖片a。
[0101]基于此,資源服務(wù)器只有在接收到用戶返回的確認(rèn)通過消息后,才會(huì)發(fā)送資源訪問請(qǐng)求通過的消息至所述第三方應(yīng)用,同意該第三方應(yīng)用的資源訪問請(qǐng)求。
[0102]由此使得,只有用戶返回確認(rèn)通過的消息,即為該用戶同意某第三方應(yīng)用的某用戶通過該客戶端設(shè)備訪問某資源服務(wù)器的某用戶的某個(gè)資源時(shí),該資源服務(wù)器才可以同意該第三方應(yīng)用的資源訪問請(qǐng)求,同意該第三方應(yīng)用訪問該資源服務(wù)器上的某資源。
[0103]由此完成了本申請(qǐng)實(shí)施例的資源訪問的全過程。
[0104]本申請(qǐng)實(shí)施例中,在客戶端設(shè)備上安裝設(shè)備認(rèn)證客戶端,該設(shè)備認(rèn)證客戶端中保存有該客戶端設(shè)備的ID。在該客戶端設(shè)備上的某第三方應(yīng)用需要訪問某用戶在某資源服務(wù)器的某個(gè)資源時(shí),第三方應(yīng)用向該資源服務(wù)器發(fā)送的token中包括該客戶端設(shè)備的ID ;該資源服務(wù)器接收到該token后,由授權(quán)中心獲取該客戶端設(shè)備上安裝的設(shè)備認(rèn)證客戶端中保存的該客戶端設(shè)備的ID,將其與該token中包括的客戶端設(shè)備的ID相比對(duì);當(dāng)二者一致時(shí),授權(quán)中心進(jìn)一步的推送確認(rèn)消息給用戶,詢問該用戶是否同意該第三方應(yīng)用通過該客戶端設(shè)備訪問其保存在該資源服務(wù)器上的資源;只有在用戶返回確認(rèn)信息時(shí),授權(quán)中心才通知資源服務(wù)器,可以同意該第三方應(yīng)用的資源訪問請(qǐng)求。
[0105]由此使得,用戶只有通過該客戶端設(shè)備上的第三方應(yīng)用才可以訪問該資源,可以有效避免toke泄露或被惡意盜取后的用戶資源被濫用問題,加強(qiáng)了開放性授權(quán)的安全性,有利于保護(hù)用戶隱私。
[0106]與本申請(qǐng)的開放授權(quán)的方法實(shí)施例相對(duì)應(yīng),本申請(qǐng)還提供了開放授權(quán)的裝置及服務(wù)器的實(shí)施例。
[0107]本申請(qǐng)裝置的實(shí)施例可以分別應(yīng)用在客戶端設(shè)備和服務(wù)器上。裝置實(shí)施例可以通過軟件實(shí)現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為一個(gè)邏輯意義上的裝置,是通過其所在設(shè)備的處理器將非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。從硬件層面而言,如圖5所示,為本申請(qǐng)的開放授權(quán)的裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖5所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲(chǔ)器之外,實(shí)施例中裝置所在的設(shè)備通常根據(jù)該設(shè)備的實(shí)際功能,還可以包括其他硬件,如對(duì)于客戶端設(shè)備來說,可能包括攝像頭、觸摸屏子、通信組件等,對(duì)于服務(wù)器,可能包括負(fù)責(zé)處理報(bào)文的轉(zhuǎn)發(fā)芯片等等。
[0108]參見圖6,為本申請(qǐng)的開放授權(quán)的裝置的一個(gè)實(shí)施例框圖。如圖6所示,所述裝置用于資源服務(wù)器,所述裝置包括:接收單元601、身份標(biāo)識(shí)獲取單元602、生成單元603和發(fā)送單元604。
[0109]所述接收單元601,用于接收第三方應(yīng)用發(fā)起的資源調(diào)用請(qǐng)求;其中,所述資源調(diào)用請(qǐng)求中包括所述第三方應(yīng)用的標(biāo)識(shí)、用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名和所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí)。
[0110]所述身份標(biāo)識(shí)獲取單元602,用于對(duì)所述用戶的身份認(rèn)證通過后,獲取所述用戶當(dāng)前使用的客戶端設(shè)備的身份標(biāo)識(shí)ID。
[0111]所述生成單元603,用于生成令牌token ;所述token包括所述客戶端設(shè)備的ID、所述資源服務(wù)器的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述資源服務(wù)器的用戶名、所述第三方應(yīng)用的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名以及所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí)。
[0112]所述發(fā)送單元604,用于將所述token發(fā)送至所述第三方應(yīng)用。
[0113]其中,所述裝置還可以包括:確認(rèn)推動(dòng)單元。
[0114]所述確認(rèn)推送單元,用于通過所述客戶端設(shè)備推送確認(rèn)消息給所述用戶;所述確認(rèn)消息包括所述客戶端設(shè)備的ID、所述資源服務(wù)器的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述資源服務(wù)器的用戶名、所述第三方應(yīng)用的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名以及所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí)。
[0115]所述生成單元,用于在接收到所述用戶返回的確認(rèn)通過消息后,生成token。
[0116]其中,所述身份標(biāo)識(shí)獲取單元包括:獲取子單元,用于從所述客戶端設(shè)備上安裝的設(shè)備認(rèn)證服務(wù)器上獲取所述客戶端設(shè)備的ID。
[0117]其中,所述客戶端設(shè)備的ID為所述客戶端設(shè)備的媒體訪問控制MAC地址或設(shè)備編號(hào);或者,所述客戶端設(shè)備的ID為所述設(shè)備認(rèn)證服務(wù)器為所述客戶端設(shè)備生成的。
[0118]本申請(qǐng)實(shí)施例中,在資源服務(wù)器接收到第三方應(yīng)用的資源調(diào)用請(qǐng)求時(shí),并不直接發(fā)送token給該第三方應(yīng)用,而是需要從用戶當(dāng)前使用的客戶端設(shè)備中獲取該客戶端設(shè)備的ID ;并推送確認(rèn)消息給當(dāng)前用戶,詢問該用戶是否同意該第三方應(yīng)用通過該客戶端設(shè)備訪問其保存在該資源服務(wù)器上的資源;只有在用戶返回確認(rèn)通過的消息時(shí),資源服務(wù)器才發(fā)送token給第三方應(yīng)用,且該token中保存有該客戶端設(shè)備的ID。
[0119]由此使得,用戶只有通過該客戶端設(shè)備上的第三方應(yīng)用才可以訪問該資源,可以有效避免toke泄露或被惡意盜取后的用戶資源被濫用問題,加強(qiáng)了開放性授權(quán)的安全性,有利于保護(hù)用戶隱私。
[0120]與本申請(qǐng)的資源訪問的方法實(shí)施例相對(duì)應(yīng),本申請(qǐng)還提供了資源訪問的裝置及服務(wù)器的實(shí)施例。
[0121]本申請(qǐng)裝置的實(shí)施例可以分別應(yīng)用在客戶端設(shè)備和服務(wù)器上。裝置實(shí)施例可以通過軟件實(shí)現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為一個(gè)邏輯意義上的裝置,是通過其所在設(shè)備的處理器將非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。從硬件層面而言,如圖7所示,為本申請(qǐng)的資源訪問的裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖7所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲(chǔ)器之外,實(shí)施例中裝置所在的設(shè)備通常根據(jù)該設(shè)備的實(shí)際功能,還可以包括其他硬件,如對(duì)于客戶端設(shè)備來說,可能包括攝像頭、觸摸屏子、通信組件等,對(duì)于服務(wù)器,可能包括負(fù)責(zé)處理報(bào)文的轉(zhuǎn)發(fā)芯片等等。
[0122]參見圖8,為本申請(qǐng)的資源訪問的裝置的一個(gè)實(shí)施例框圖。如圖8所示,所述裝置用于資源服務(wù)器,所述裝置包括:接收單元801、身份標(biāo)識(shí)獲取單元802、比對(duì)單元803和發(fā)送單元804。
[0123]所述接收單元801,用于接收第三方應(yīng)用發(fā)起的資源訪問請(qǐng)求;其中,所述資源訪問請(qǐng)求中包括令牌token ;所述token包括授權(quán)客戶端設(shè)備的身份標(biāo)識(shí)ID、所述資源服務(wù)器的標(biāo)識(shí)、用戶對(duì)應(yīng)所述資源服務(wù)器的用戶名、所述第三方應(yīng)用的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名以及所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí)。
[0124]所述身份標(biāo)識(shí)獲取單元802,用于對(duì)所述token的認(rèn)證通過后,獲取所述用戶當(dāng)前使用的客戶端設(shè)備的ID。
[0125]所述比對(duì)單元803,用于將所述用戶當(dāng)前使用的客戶端設(shè)備的ID與所述token中攜帶的授權(quán)客戶端設(shè)備的身份標(biāo)識(shí)ID進(jìn)行比對(duì)。
[0126]所述發(fā)送單元804,用于當(dāng)所述比對(duì)結(jié)果為一致時(shí),發(fā)送資源訪問請(qǐng)求通過的消息至所述第三方應(yīng)用。
[0127]其中,所述裝置還可以包括:確認(rèn)推送單元。
[0128]所述確認(rèn)推送單元,用于通過所述客戶端設(shè)備推送確認(rèn)消息給所述用戶;所述確認(rèn)消息包括所述用戶當(dāng)前使用的客戶端設(shè)備的ID、所述資源服務(wù)器的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述資源服務(wù)器的用戶名、所述第三方應(yīng)用的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名以及所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí)。
[0129]所述發(fā)送單元,還用于當(dāng)所述比對(duì)結(jié)果為一致且接收到所述用戶返回的確認(rèn)通過的消息時(shí),發(fā)送資源訪問請(qǐng)求通過的消息至所述第三方應(yīng)用。
[0130]其中,所述身份標(biāo)識(shí)獲取單元包括:獲取子單元,用于從所述客戶端設(shè)備上安裝的設(shè)備認(rèn)證服務(wù)器上獲取所述客戶端設(shè)備的ID。
[0131]所述,所述客戶端設(shè)備的ID為所述客戶端設(shè)備的媒體訪問控制MAC地址或設(shè)備編號(hào);或者,所述客戶端設(shè)備的ID為所述設(shè)備認(rèn)證服務(wù)器為所述客戶端設(shè)備生成的。
[0132]本申請(qǐng)實(shí)施例中,當(dāng)用戶希望通過某客戶端設(shè)備上的第三方應(yīng)用訪問該用戶在某資源服務(wù)器的資源時(shí),第三方應(yīng)用向該資源服務(wù)器發(fā)送的token中包括該用戶當(dāng)前使用的客戶端設(shè)備的ID ;該資源服務(wù)器接收到該token后,獲取該用戶當(dāng)前使用的客戶端設(shè)備的ID,將其與該token中攜帶的客戶端設(shè)備的ID相比對(duì);當(dāng)二者一致時(shí),推送確認(rèn)消息給用戶,詢問該用戶是否同意該第三方應(yīng)用通過該客戶端設(shè)備訪問其保存在該資源服務(wù)器上的資源;只有在用戶返回確認(rèn)信息時(shí),資源服務(wù)器才同意該第三方應(yīng)用的資源訪問請(qǐng)求。
[0133]由此使得,用戶只有通過該客戶端設(shè)備上的第三方應(yīng)用才可以訪問該資源,可以有效避免toke泄露或被惡意盜取后的用戶資源被濫用問題,加強(qiáng)了開放性授權(quán)的安全性,有利于保護(hù)用戶隱私。
[0134]上述裝置中各個(gè)單元的功能和作用的實(shí)現(xiàn)過程具體詳見上述方法中對(duì)應(yīng)步驟的實(shí)現(xiàn)過程,在此不再贅述。
[0135]對(duì)于裝置實(shí)施例而言,由于其基本對(duì)應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本申請(qǐng)方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
[0136]本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本申請(qǐng)的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本申請(qǐng)的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本申請(qǐng)的一般性原理并包括本申請(qǐng)未公開的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本申請(qǐng)的真正范圍和精神由下面的權(quán)利要求指出。
[0137]應(yīng)當(dāng)理解的是,本申請(qǐng)并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本申請(qǐng)的范圍僅由所附的權(quán)利要求來限制。
【主權(quán)項(xiàng)】
1.一種開放授權(quán)的方法,其特征在于,所述方法包括: 資源服務(wù)器接收第三方應(yīng)用發(fā)起的資源調(diào)用請(qǐng)求;其中,所述資源調(diào)用請(qǐng)求中包括所述第三方應(yīng)用的標(biāo)識(shí)、用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名和所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí); 對(duì)所述用戶的身份認(rèn)證通過后,獲取所述用戶當(dāng)前使用的客戶端設(shè)備的身份標(biāo)識(shí)ID ; 生成令牌token并發(fā)送至所述第三方應(yīng)用;所述token包括所述客戶端設(shè)備的ID、所述資源服務(wù)器的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述資源服務(wù)器的用戶名、所述第三方應(yīng)用的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名以及所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí)。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述獲取所述用戶當(dāng)前使用的客戶端設(shè)備的身份標(biāo)識(shí)ID之后、所述生成令牌token并發(fā)送至所述第三方應(yīng)用之前,所述方法還包括: 通過所述客戶端設(shè)備推送確認(rèn)消息給所述用戶;所述確認(rèn)消息包括所述客戶端設(shè)備的ID、所述資源服務(wù)器的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述資源服務(wù)器的用戶名、所述第三方應(yīng)用的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名以及所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí); 接收所述用戶返回的確認(rèn)通過消息。3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述獲取所述用戶當(dāng)前使用的客戶端設(shè)備的身份標(biāo)識(shí)ID包括: 從所述客戶端設(shè)備上安裝的設(shè)備認(rèn)證服務(wù)器上獲取所述客戶端設(shè)備的ID。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述客戶端設(shè)備的ID為所述客戶端設(shè)備的媒體訪問控制MAC地址或設(shè)備編號(hào); 或者, 所述客戶端設(shè)備的ID為所述設(shè)備認(rèn)證服務(wù)器為所述客戶端設(shè)備生成的。5.一種資源訪問的方法,其特征在于,所述方法包括: 資源服務(wù)器接收第三方應(yīng)用發(fā)起的資源訪問請(qǐng)求;其中,所述資源訪問請(qǐng)求中包括令牌token ;所述token包括授權(quán)客戶端設(shè)備的身份標(biāo)識(shí)ID、所述資源服務(wù)器的標(biāo)識(shí)、用戶對(duì)應(yīng)所述資源服務(wù)器的用戶名、所述第三方應(yīng)用的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名以及所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí); 對(duì)所述token的認(rèn)證通過后,獲取所述用戶當(dāng)前使用的客戶端設(shè)備的ID ; 將所述用戶當(dāng)前使用的客戶端設(shè)備的ID與所述token中攜帶的授權(quán)客戶端設(shè)備的身份標(biāo)識(shí)ID進(jìn)行比對(duì); 當(dāng)所述比對(duì)結(jié)果為一致時(shí),發(fā)送資源訪問請(qǐng)求通過的消息至所述第三方應(yīng)用。6.根據(jù)權(quán)利要求5所述的方法,其特征在于,當(dāng)所述比對(duì)結(jié)果為一致時(shí),在發(fā)送資源訪問請(qǐng)求通過的消息至所述第三方應(yīng)用之前,所述方法還包括: 通過所述客戶端設(shè)備推送確認(rèn)消息給所述用戶;所述確認(rèn)消息包括所述用戶當(dāng)前使用的客戶端設(shè)備的ID、所述資源服務(wù)器的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述資源服務(wù)器的用戶名、所述第三方應(yīng)用的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名以及所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí); 接收所述用戶返回的確認(rèn)通過消息。7.根據(jù)權(quán)利要求5或6所述的方法,其特征在于,所述獲取所述用戶當(dāng)前使用的客戶端設(shè)備的ID包括: 從所述客戶端設(shè)備上安裝的設(shè)備認(rèn)證服務(wù)器上獲取所述客戶端設(shè)備的ID。8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述客戶端設(shè)備的ID為所述客戶端設(shè)備的媒體訪問控制MAC地址或設(shè)備編號(hào); 或者, 所述客戶端設(shè)備的ID為所述設(shè)備認(rèn)證服務(wù)器為所述客戶端設(shè)備生成的。9.一種開放授權(quán)的裝置,其特征在于,所述裝置包括: 接收單元,用于接收第三方應(yīng)用發(fā)起的資源調(diào)用請(qǐng)求;其中,所述資源調(diào)用請(qǐng)求中包括所述第三方應(yīng)用的標(biāo)識(shí)、用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名和所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí); 身份標(biāo)識(shí)獲取單元,用于對(duì)所述用戶的身份認(rèn)證通過后,獲取所述用戶當(dāng)前使用的客戶端設(shè)備的身份標(biāo)識(shí)ID ; 生成單元,用于生成令牌token ;所述token包括所述客戶端設(shè)備的ID、所述資源服務(wù)器的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述資源服務(wù)器的用戶名、所述第三方應(yīng)用的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名以及所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí) 發(fā)送單元,用于將所述token發(fā)送至所述第三方應(yīng)用。10.根據(jù)權(quán)利要求9所述的開放授權(quán)的裝置,其特征在于,所述裝置還包括: 確認(rèn)推送單元,用于通過所述客戶端設(shè)備推送確認(rèn)消息給所述用戶;所述確認(rèn)消息包括所述客戶端設(shè)備的ID、所述資源服務(wù)器的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述資源服務(wù)器的用戶名、所述第三方應(yīng)用的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名以及所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí); 生成單元,用于在接收到所述用戶返回的確認(rèn)通過消息后,生成token。11.根據(jù)權(quán)利要求9或10所述的開放授權(quán)的裝置,其特征在于,所述身份標(biāo)識(shí)獲取單元包括: 獲取子單元,用于從所述客戶端設(shè)備上安裝的設(shè)備認(rèn)證服務(wù)器上獲取所述客戶端設(shè)備的ID012.根據(jù)權(quán)利要求11所述的開放授權(quán)的裝置,其特征在于,所述客戶端設(shè)備的ID為所述客戶端設(shè)備的媒體訪問控制MAC地址或設(shè)備編號(hào); 或者, 所述客戶端設(shè)備的ID為所述設(shè)備認(rèn)證服務(wù)器為所述客戶端設(shè)備生成的。13.一種資源訪問的裝置,其特征在于,所述裝置包括: 接收單元,用于接收第三方應(yīng)用發(fā)起的資源訪問請(qǐng)求;其中,所述資源訪問請(qǐng)求中包括令牌token ;所述token包括授權(quán)客戶端設(shè)備的身份標(biāo)識(shí)ID、所述資源服務(wù)器的標(biāo)識(shí)、用戶對(duì)應(yīng)所述資源服務(wù)器的用戶名、所述第三方應(yīng)用的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名以及所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí); 身份標(biāo)識(shí)獲取單元,用于對(duì)所述token的認(rèn)證通過后,獲取所述用戶當(dāng)前使用的客戶立而設(shè)備的ID ; 比對(duì)單元,用于將所述用戶當(dāng)前使用的客戶端設(shè)備的ID與所述token中攜帶的授權(quán)客戶端設(shè)備的身份標(biāo)識(shí)ID進(jìn)行比對(duì); 發(fā)送單元,用于當(dāng)所述比對(duì)結(jié)果為一致時(shí),發(fā)送資源訪問請(qǐng)求通過的消息至所述第三方應(yīng)用。14.根據(jù)權(quán)利要求13所述的資源訪問的裝置,其特征在于,所述裝置還包括: 確認(rèn)推送單元,用于通過所述客戶端設(shè)備推送確認(rèn)消息給所述用戶;所述確認(rèn)消息包括所述用戶當(dāng)前使用的客戶端設(shè)備的ID、所述資源服務(wù)器的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述資源服務(wù)器的用戶名、所述第三方應(yīng)用的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名以及所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí); 發(fā)送單元,用于當(dāng)所述比對(duì)結(jié)果為一致且接收到所述用戶返回的確認(rèn)通過的消息時(shí),發(fā)送資源訪問請(qǐng)求通過的消息至所述第三方應(yīng)用。15.根據(jù)權(quán)利要求13或14所述的資源訪問的裝置,其特征在于,所述身份標(biāo)識(shí)獲取單元包括: 獲取子單元,用于從所述客戶端設(shè)備上安裝的設(shè)備認(rèn)證服務(wù)器上獲取所述客戶端設(shè)備的ID016.根據(jù)權(quán)利要求15所述的資源訪問的裝置,其特征在于,所述客戶端設(shè)備的ID為所述客戶端設(shè)備的媒體訪問控制MAC地址或設(shè)備編號(hào); 或者, 所述客戶端設(shè)備的ID為所述設(shè)備認(rèn)證服務(wù)器為所述客戶端設(shè)備生成的。17.一種服務(wù)器,其特征在于,包括: 處理器;用于存儲(chǔ)所述處理器可執(zhí)行指令的存儲(chǔ)器; 其中,所述處理器被配置為: 資源服務(wù)器接收第三方應(yīng)用發(fā)起的資源調(diào)用請(qǐng)求;其中,所述資源調(diào)用請(qǐng)求中包括所述第三方應(yīng)用的標(biāo)識(shí)、用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名和所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí); 對(duì)所述用戶的身份認(rèn)證通過后,獲取所述用戶當(dāng)前使用的客戶端設(shè)備的身份標(biāo)識(shí)ID ; 生成令牌token并發(fā)送至所述第三方應(yīng)用;所述token包括所述客戶端設(shè)備的ID、所述資源服務(wù)器的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述資源服務(wù)器的用戶名、所述第三方應(yīng)用的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名以及所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí)。18.一種服務(wù)器,其特征在于,包括: 處理器;用于存儲(chǔ)所述處理器可執(zhí)行指令的存儲(chǔ)器; 其中,所述處理器被配置為: 資源服務(wù)器接收第三方應(yīng)用發(fā)起的資源訪問請(qǐng)求;其中,所述資源訪問請(qǐng)求中包括令牌token ;所述token包括授權(quán)客戶端設(shè)備的身份標(biāo)識(shí)ID、所述資源服務(wù)器的標(biāo)識(shí)、用戶對(duì)應(yīng)所述資源服務(wù)器的用戶名、所述第三方應(yīng)用的標(biāo)識(shí)、所述用戶對(duì)應(yīng)所述第三方應(yīng)用的用戶名以及所述第三方應(yīng)用請(qǐng)求的資源的標(biāo)識(shí); 對(duì)所述token的認(rèn)證通過后,獲取所述用戶當(dāng)前使用的客戶端設(shè)備的ID ; 將所述用戶當(dāng)前使用的客戶端設(shè)備的ID與所述token中攜帶的授權(quán)客戶端設(shè)備的身份標(biāo)識(shí)ID進(jìn)行比對(duì); 當(dāng)所述比對(duì)結(jié)果為一致時(shí),發(fā)送資源訪問請(qǐng)求通過的消息至所述第三方應(yīng)用。
【文檔編號(hào)】H04L9/32GK105991614SQ201510095594
【公開日】2016年10月5日
【申請(qǐng)日】2015年3月3日
【發(fā)明人】章建軍
【申請(qǐng)人】阿里巴巴集團(tuán)控股有限公司