一种基于Protobuf的高效身份认证方法技术

技术编号:28149672 阅读:29 留言:0更新日期:2021-04-21 19:40
本发明专利技术公开了一种基于Protobuf的高效身份认证方法,第一部分是准备阶段,生成序列化和反序列化接口;第二部分是token生成阶段,用protobuf协议代替json协议,也省去了base64编码,最终得到一个代表用户身份的token字符串,并返回给客户端。第三部分是token解析验证阶段,客户端在请求中携带token来表明其身份,此时将token拆分为3个字符串,并使用对应的反序列化接口,得到字符串原始的数据信息,并验证这些信息是否过期,或者是否被篡改,如果都没有则表明这个身份是合法的,否则就是一个不合法的身份。本发明专利技术使用protobuf协议替换json,生成的token的体积更小,因此传输会更快,数据的解析也会更快,从而使得身份认证阶段会更加高效快速,占用整个请求的总时间更少,不会造成用户体验下降。成用户体验下降。成用户体验下降。

【技术实现步骤摘要】
一种基于Protobuf的高效身份认证方法


[0001]本专利技术涉及身份认证
,具体涉及一种基于Protobuf的高效身份认证方法。

技术介绍

[0002]Jwt(JSON Web Token)是目前一种使用非常广泛的身份认证解决方案。对比传统基于session+cookie的身份认证方案,jwt有以下几个优点:
[0003]1.无状态:认证所需的所有信息都已经包含在token里面,服务器无需存储记录任何信息,大大减轻了服务器压力,还具有很强的可扩展性。
[0004]2.适用移动端app:jwt不依赖于session,token只是普通的json字符串,移动端app很容易处理。
[0005]3.有效避免csrf攻击:token往往保存到local_storage中,csrf攻击无法利用认证token。
[0006]4.适用于单点登录:包含认证信息的token保存在客户端中,很容易实现单点登录。
[0007]5.适用于分布式:认证信息没有保存在服务器中,而是在客户端中,所以jwt也可以在分布式系统中本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于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;S2.4、通过header中声明的加密方式进行加盐secret组合加密字符串hp_str,得到字符串crypt_str;S2.5、用连接符连接字符串hp_str和字符串crypt_str得到最终的token;S3、token解析验证;S3...

【专利技术属性】
技术研发人员:浦志超
申请(专利权)人:读书郎教育科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1