[發明專利]一種基于Protobuf的高效身份認證方法在審
| 申請號: | 202110090990.2 | 申請日: | 2021-01-22 |
| 公開(公告)號: | CN112685727A | 公開(公告)日: | 2021-04-20 |
| 發明(設計)人: | 浦志超 | 申請(專利權)人: | 讀書郎教育科技有限公司 |
| 主分類號: | G06F21/44 | 分類號: | G06F21/44;G06F21/45 |
| 代理公司: | 廣州德偉專利代理事務所(普通合伙) 44436 | 代理人: | 黃浩威;何文穎 |
| 地址: | 528400 廣*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 protobuf 高效 身份 認證 方法 | ||
本發明公開了一種基于Protobuf的高效身份認證方法,第一部分是準備階段,生成序列化和反序列化接口;第二部分是token生成階段,用protobuf協議代替json協議,也省去了base64編碼,最終得到一個代表用戶身份的token字符串,并返回給客戶端。第三部分是token解析驗證階段,客戶端在請求中攜帶token來表明其身份,此時將token拆分為3個字符串,并使用對應的反序列化接口,得到字符串原始的數據信息,并驗證這些信息是否過期,或者是否被篡改,如果都沒有則表明這個身份是合法的,否則就是一個不合法的身份。本發明使用protobuf協議替換json,生成的token的體積更小,因此傳輸會更快,數據的解析也會更快,從而使得身份認證階段會更加高效快速,占用整個請求的總時間更少,不會造成用戶體驗下降。
技術領域
本發明涉及身份認證技術領域,具體涉及一種基于Protobuf的高效身份認證方法。
背景技術
Jwt(JSON Web Token)是目前一種使用非常廣泛的身份認證解決方案。對比傳統基于session+cookie的身份認證方案,jwt有以下幾個優點:
1.無狀態:認證所需的所有信息都已經包含在token里面,服務器無需存儲記錄任何信息,大大減輕了服務器壓力,還具有很強的可擴展性。
2.適用移動端app:jwt不依賴于session,token只是普通的json字符串,移動端app很容易處理。
3.有效避免csrf攻擊:token往往保存到local_storage中,csrf攻擊無法利用認證token。
4.適用于單點登錄:包含認證信息的token保存在客戶端中,很容易實現單點登錄。
5.適用于分布式:認證信息沒有保存在服務器中,而是在客戶端中,所以jwt也可以在分布式系統中使用。
Protocol buffers通常稱為Protobuf,是Google開發的一種協議,允許對結構化數據進行序列化和反序列化。谷歌開發它的目的是提供一種更好的方式來進行系統間通信。因此,它更簡單、更小、更快、更易于維護。
身份認證信息作為請求的通行證,所有的請求都會攜帶,jwt的傳輸和解析伴隨了每一次請求,過大的jwt體積會造成網絡傳輸時間增長,同時解析的時間也會增長,如果jwt的傳輸和處理時間過長,就會導致請求時間增加,用戶體驗下降。Jwt(JSON Web Token)數據結構化和數據解析都是基于json的,而json空間利用率和解析速度方面都較差,無法保證用戶體驗。
發明內容
針對現有技術的不足,本發明旨在提供一種基于Protobuf的高效身份認證方法。
為了實現上述目的,本發明采用如下技術方案:
一種基于Protobuf的高效身份認證方法,包括如下過程:
S1、準備階段:
S1.1、創建.proto文件;
S1.2、使用protobuf語法,根據實際場景定義header和payload結構;
S1.3、使用protoc編譯.proto文件,生成序列化和反序列化接口,其中包含header序列化接口、header反序列化接口、payload序列化接口和payload反序列化接口;
S2、生成token:
S2.1、調用header序列化接口序列化header,得到字符串header_str,以及調用payload序列化接口序列化payload,得到字符串payload_str;
S2.2、用連接符連接字符串header_str和字符串payload_str,得到字符串hp_str;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于讀書郎教育科技有限公司,未經讀書郎教育科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110090990.2/2.html,轉載請聲明來源鉆瓜專利網。





