CN110086802B - 用于会话的鉴权方法及装置 - Google Patents
用于会话的鉴权方法及装置 Download PDFInfo
- Publication number
- CN110086802B CN110086802B CN201910335979.0A CN201910335979A CN110086802B CN 110086802 B CN110086802 B CN 110086802B CN 201910335979 A CN201910335979 A CN 201910335979A CN 110086802 B CN110086802 B CN 110086802B
- Authority
- CN
- China
- Prior art keywords
- token
- character string
- timestamp
- authentication
- session
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
- H04L63/064—Hierarchical key distribution, e.g. by multi-tier trusted parties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种用于会话的鉴权方法及装置。该方法包括获取按照预设操作生成的用于会话的Token,并将所述Token分割后进行分层校验操作;对所述分层处理操作之后得到的结果解析得到用户信息并返回所述用户信息,完成会话鉴权。本申请解决了会话Token鉴权抗暴、抗压性不足的技术问题。通过本申请实现了基于防爆Token的会话鉴权。此外,本申请适用于恶意请求或大量请求的会话Token鉴权场景。
Description
技术领域
本申请涉及会话鉴权领域,具体而言,涉及一种用于会话的鉴权方法及装置。
背景技术
会话Token都是存储在数据库或者缓存中。
发明人发现,由于在使用Token取用户信息的时候都需要从存储介质中读取用户信息,如果遇到大量恶意请求或超大请求量的高峰情况,会遭遇崩溃风险。
针对相关技术中会话Token鉴权抗暴、抗压性不足的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种用于会话的鉴权方法及装置,以解决会话Token鉴权抗暴、抗压性不足的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种用于会话的鉴权方法。
根据本申请的用于会话的鉴权方法,包括:获取按照预设操作生成的用于会话的Token,并将所述Token分割后进行分层校验操作;对所述分层处理操作之后得到的结果解析得到用户信息并返回所述用户信息,完成会话鉴权。
进一步地,获取按照预设操作生成的用于会话的Token包括:在用户信息鉴权通过之后,将用户ID和用户名采用预设标识符拼接;将通过预设标识符拼接的用户ID和用户名通过预设鉴权配置生成用于会话的Token,并返回所述用于会话的Token,具体包括:
将用户ID和用户名用预设标识符拼接在一起,用服务器IP作为Key进行AES加密得到第一字符串s1;
把所述第一字符串s1、短下划线和未来的一个有效期时间戳拼接成第二字符串s2;
把第二字符串s2和服务器IP拼接成第三字符串并计算出md5值m;
把第二字符串s2和m拼接成Token;进一步地,将所述Token分割后进行分层处理操作包括:获取会话请求中携带的Token;将所述Token经过服务器IP的校验处理,如果所述服务器IP的校验处理成功则进入时间戳校验处理;如果所述时间戳校验处理成功则进入解密处理。
进一步地,对所述分层处理操作之后得到的结果解析得到用户信息并返回所述用户信息,完成会话鉴权之后,还包括:Token有效期刷新步骤,所述Token有效期刷新步骤包括:接收携带有合法Token的刷新Token请求;将所述Token分割后进行分层校验操作,具体包括:
将Token按后面32个字符长度截断成第四字符串s4和第五字符串m5;
计算第四字符串s4和服务器IP的md5值;
判断第四字符串s4和服务器IP的md5值是否等于所述第五字符串m5,如果不相等则返回错误;
将第四字符串s4使用短下划线进行分割,得到第六字符串s6和时间戳TIMESTAMP,判断当前时间戳是否大于所述时间戳TIMESTAMP,大于则返回Token过期提示;
将第六字符串s6和使用服务器IP进行AES解密,如果解密失败,则返回错误;
对所述分层处理操作之后得到的结果解析得到用户信息,并生成包含新的过期时间戳的Token后返回。
进一步地,对所述分层处理操作之后得到的结果解析得到用户信息并返回所述用户信息,完成会话鉴权之后,还包括:Token服务部署操作,所述Token服务部署操作用于进行单机服务鉴权或分布式服务Token鉴权。
为了实现上述目的,根据本申请的另一方面,提供了一种用于会话的鉴权装置。
根据本申请的用于会话的鉴权装置包括:校验和分层处理模块,用于获取按照预设操作生成的用于会话的Token,并将所述Token分割后进行分层校验操作;换取模块,用于对所述分层处理操作之后得到的结果解析得到用户信息并返回所述用户信息,完成会话鉴权。
进一步地,所述校验和分层处理模块包括:拼接单元,用于在用户信息鉴权通过之后,将用户ID和用户名采用预设标识符拼接;生成返回单元,用于将通过预设标识符拼接的用户ID和用户名通过预设鉴权配置生成用于会话的Token,并返回所述用于会话的Token,具体包括:
将用户ID和用户名用预设标识符拼接在一起,用服务器IP作为Key进行AES加密得到第一字符串s1;
把所述第一字符串s1、短下划线和未来的一个有效期时间戳拼接成第二字符串s2;
把第二字符串s2和服务器IP拼接成第三字符串并计算出md5值m;
把第二字符串s2和m拼接成Token;进一步地,所述校验和分层处理模块包括:获取单元,用于获取会话请求中携带的Token;校验单元,用于将所述Token经过服务器IP的校验处理,如果所述服务器IP的校验处理成功则进入时间戳校验处理;解密单元,用于在所述时间戳校验处理成功后则进入解密处理。
进一步地,所述装置还包括:Token有效期刷新模块,所述Token有效期刷新模块包括:接收单元,用于接收携带有合法Token的刷新Token请求;分层校验单元,用于将所述Token分割后进行分层校验操作,具体包括:
将Token按后面32个字符长度截断成第四字符串s4和第五字符串m5;
计算第四字符串s4和服务器IP的md5值;
判断第四字符串s4和服务器IP的md5值是否等于所述第五字符串m5,如果不相等则返回错误;
将第四字符串s4使用短下划线进行分割,得到第六字符串s6和时间戳TIMESTAMP,判断当前时间戳是否大于所述时间戳TIMESTAMP,大于则返回Token过期提示;
将第六字符串s6和使用服务器IP进行AES解密,如果解密失败,则返回错误;
解析单元,用于对所述分层处理操作之后得到的结果解析得到用户信息,并生成包含新的过期时间戳的Token后返回。
进一步地,还包括:Token服务部署操作模块,用于对所述分层处理操作之后得到的结果解析得到用户信息并返回所述用户信息,完成会话鉴权之后,进行Token服务部署操作,所述Token服务部署操作用于进行单机服务鉴权或分布式服务token鉴权。
在本申请实施例中用于会话的鉴权方法及装置,采用获取按照预设操作生成的用于会话的Token,并将所述Token分割后进行分层校验操作的方式,通过对所述分层处理操作之后得到的结果解析得到用户信息并返回所述用户信息,完成会话鉴权,达到了基于防爆Token的会话鉴权的目的,从而实现了高性能、高可用、高安全的技术效果,进而解决了会话Token鉴权抗暴、抗压性不足的技术问题。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请第一实施例中的用于会话的鉴权方法流程示意图;
图2是根据本申请第二实施例中的用于会话的鉴权方法流程示意图;
图3是根据本申请第三实施例中的用于会话的鉴权方法流程示意图;
图4是根据本申请第四实施例中的用于会话的鉴权方法流程示意图;
图5是根据本申请第五实施例中的用于会话的鉴权方法流程示意图;
图6是根据本申请第一实施例中的用于会话的鉴权装置结构示意图;
图7是根据本申请第二实施例中的用于会话的鉴权装置结构示意图;
图8是根据本申请第三实施例中的用于会话的鉴权装置结构示意图;
图9是根据本申请第四实施例中的用于会话的鉴权装置结构示意图;
图10是根据本申请第五实施例中的用于会话的鉴权装置结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。
此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
本申请中的用于会话的鉴权方法,具有如下的优点:
1)高安全,只要Token的生成算法***露,该token里面包含的数据信息是绝对安全的。2)高性能,本发明中的Token都是通过计算机运算实现,无需存储Token,也无需根据Token查询存储介质得到用户信息,整个生命周期中,除了网络请求的IO之外,服务本身不包含任何IO操作,性能可以得到极高的保障。3)高可用,如果使用分布式部署方案,每个服务节点都能分担网络流量,节点越多,单节点压力越小,配合使用zookeeper等调度工具,更能实现故障节点自动下线功能,从而确保服务高可用。4)超简单,整个Token鉴权***只有简单的字符串拼接和通用的加密算法,没有其他任何复杂的实现,可以用任何编程语言来实现该***。
如图1所示,该方法包括如下的步骤S102至步骤S106:
步骤S102,获取按照预设操作生成的用于会话的Token,并将所述Token分割后进行分层校验操作;
获取按照预设操作生成的用于会话的Token,然后将所述Token分割后进行分层校验操作。对所述Token分割操作可以是通过加解密算法得到字符串后再进行的分割操作。对所述Token分层校验操作可以是分别对于分割部分进行校验的过程。
步骤S104,对所述分层处理操作之后得到的结果解析得到用户信息并返回所述用户信息,完成会话鉴权。
所述分层处理操作至少包括对字符串的加密校验、对时间有效期的加密校验、字符串与服务器IP解密校验。
对所述分层处理操作之后得到的结果解析得到用户信息并返回所述用户信息至服务器之后完成会话鉴权。
从以上的描述中,可以看出,本申请实现了如下技术效果:
在本申请实施例中,采用获取按照预设操作生成的用于会话的Token,并将所述Token分割后进行分层校验操作的方式,通过对所述分层处理操作之后得到的结果解析得到用户信息并返回所述用户信息,完成会话鉴权,达到了基于防爆Token的会话鉴权的目的,从而实现了高性能、高可用、高安全的技术效果,进而解决了会话Token鉴权抗暴、抗压性不足的技术问题
根据本申请实施例,作为本实施例中的优选,如图2所示,获取按照预设操作生成的用于会话的Token包括:
步骤202,在用户信息鉴权通过之后,将用户ID和用户名采用预设标识符拼接;
步骤204,将所述预设标识符拼接通过预设鉴权配置生成用于会话的Token,并返回所述用于会话的Token。
具体地,基于会话的Token生成方法,用户信息鉴权通过以后,将用户ID和用户名用某种分隔符(比如逗号)拼接在一起,用服务器IP作为Key进行AES加密得到字符串s,然后把s、短下划线和未来的一个有效期时间戳拼接成s2,然后把字符串s2和服务器IP拼接成新的字符串并计算出md5值m,最后把s2和m拼接成Token,返回给客户端,作为本次会话的标识。示例伪代码公式如下:
s=AES.encode(“ID,USERNAME”,IP);
s2=s+“_”+TIMESTAMP;
m=md5(s2+IP);
token=s2+m。
需要注意的是,上述md5并不作为对本申请实施例中的加密算法进行限定,只要能够相关加密要求即可。
还需要注意的是,AES加密并不作为对本申请实施例中的加密算法进行限定,只要能够相关加密要求即可。
根据本申请实施例,作为本实施例中的优选,如图3所示,将所述Token分割后进行分层处理操作包括:
步骤302,获取会话请求中携带的Token;
步骤304,将所述Token经过服务器IP的校验处理,如果所述服务器IP的校验处理成功则进入时间戳校验处理;
步骤306,如果所述时间戳校验处理成功则进入解密处理。
具体地,涉及Token分层校验方法,在客户端通过将携带的Token提交给服务端,服务端先将Token按后面32个字符长度截断成两部分s2和m,计算s2和服务器IP的md5值,然后判断md5(s2+IP)是否等于m,如果不相等则返回错误;然后进入第二步过滤,将s2使用短下划线进行分割,得到s和TIMESTAMP,判断当前时间戳是否大于TIMESTAMP,大于则返回Token过期提示;然后进入第三步过滤,将s和使用服务器IP进行AES解密,如果解密失败,则返回错误;最后,进入换取用户信息的操作。
具体地,还涉及Token换取用户信息方法,从Token校验中解密得到ID和USERNAME组成的明文后,使用约定的分隔符进行分割,将用户ID、用户名信息USERNAME和有效期时间戳TIMESTAMP返回给客户端,整个Token鉴权结果成功。所述Token鉴权成功后,只提供用户ID和用户名信息用于客户端展示,如果需要获取更详细的用户信息,则不属于本发明规定的用户基本信息的范围,需要使用另外的接口,根据用户ID去获取。
根据本申请实施例,作为本实施例中的优选,如图4所示,对所述分层处理操作之后得到的结果解析得到用户信息并返回所述用户信息,完成会话鉴权之后,还包括:Token有效期刷新步骤,所述Token有效期刷新步骤包括:
步骤402,接收携带有合法Token的刷新Token请求;
步骤404,将所述Token分割后进行分层校验操作;
步骤406,对所述分层处理操作之后得到的结果解析得到用户信息,并生成包含新的过期时间戳的Token后返回。
具体地,涉及Token有效期刷新方法,客户端根据某次会话Token获取的用户信息中返回的时间戳判断是否需要刷新Token的有效期,如果需要的话,就携带一个合法Token向服务端发起一个刷新Token请求,服务端收到刷新请求以后,先解析出用户信息,然后生成用于会话的Token生成方法重新生成一个包含新的过期时间戳的生成返回给客户端,客户端下次请求的时候就可以用新的生成进行会话鉴权。
根据本申请实施例,作为本实施例中的优选,如图5所示,对所述分层处理操作之后得到的结果解析得到用户信息并返回所述用户信息,完成会话鉴权之后,还包括:步骤502,Token服务部署操作,所述Token服务部署操作用于进行单机服务鉴权或分布式服务Token鉴权。
具体地,涉及Token生成服务部署方法,通过上述步骤是使用服务器IP作为AES和MD5加密的key,所以只能实现单机鉴权。如果想要实现分布式服务部署,可以将上述过程中的服务器IP替换成一个约定的固定的字符串值,这样即可实现分布式服务Token鉴权。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本申请实施例,还提供了一种用于实施上述用于会话的鉴权方法的装置,如图6所示,该装置包括:校验和分层处理模块10,用于获取按照预设操作生成的用于会话的Token,并将所述Token分割后进行分层校验操作;换取模块20,用于对所述分层处理操作之后得到的结果解析得到用户信息并返回所述用户信息,完成会话鉴权。
本申请实施例的校验和分层处理模块10中获取按照预设操作生成的用于会话的Token,然后将所述Token分割后进行分层校验操作。对所述Token分割操作可以是通过加解密算法得到字符串后再进行的分割操作。对所述Token分层校验操作可以是分别对于分割部分进行校验的过程。
本申请实施例的换取模块20中所述分层处理操作至少包括对字符串的加密校验、对时间有效期的加密校验、字符串与服务器IP解密校验。
对所述分层处理操作之后得到的结果解析得到用户信息并返回所述用户信息至服务器之后完成会话鉴权。
具体地,包括:Token生成、Token校验和Token换取用户信息。Token生成算法采用通用的数据加密形式,保证用户数据安全;Token校验采用层层过滤的方式,对各种恶意请求层层过滤;Token鉴权成功后,只换取用户最基本的信息,无需查询数据库等存储服务。该***生成的Token用于会话标识,无需存储,无需查询,支持分布式部署,具有极佳的抗暴、抗压能力。
根据本申请实施例,作为本实施例中的优选,如图7所示,所述校验和分层处理模块10包括:拼接单元101,用于在用户信息鉴权通过之后,将用户ID和用户名采用预设标识符拼接;生成返回单元102,用于将所述预设标识符拼接通过预设鉴权配置生成用于会话的Token,并返回所述用于会话的Token。
本申请实施例中具体地,基于会话的Token生成方法,用户信息鉴权通过以后,将用户ID和用户名用某种分隔符(比如逗号)拼接在一起,用服务器IP作为Key进行AES加密得到字符串s,然后把s、短下划线和未来的一个有效期时间戳拼接成s2,然后把字符串s2和服务器IP拼接成新的字符串并计算出md5值m,最后把s2和m拼接成Token,返回给客户端,作为本次会话的标识。示例伪代码公式如下:
s=AES.encode(“ID,USERNAME”,IP);
s2=s+“_”+TIMESTAMP;
m=md5(s2+IP);
token=s2+m。
需要注意的是,上述md5并不作为对本申请实施例中的加密算法进行限定,只要能够相关加密要求即可。
还需要注意的是,AES加密并不作为对本申请实施例中的加密算法进行限定,只要能够相关加密要求即可。
根据本申请实施例,作为本实施例中的优选,如图8所示,,所述校验和分层处理模块包括:获取单元103,用于获取会话请求中携带的Token;校验单元104,用于将所述Token经过服务器IP的校验处理,如果所述服务器IP的校验处理成功则进入时间戳校验处理;解密单元105,用于在所述时间戳校验处理成功后则进入解密处理。
本申请实施例中具体地,涉及Token分层校验方法,在客户端通过将携带的Token提交给服务端,服务端先将Token按后面32个字符长度截断成两部分s2和m,计算s2和服务器IP的md5值,然后判断md5(s2+IP)是否等于m,如果不相等则返回错误;然后进入第二步过滤,将s2使用短下划线进行分割,得到s和TIMESTAMP,判断当前时间戳是否大于TIMESTAMP,大于则返回Token过期提示;然后进入第三步过滤,将s和使用服务器IP进行AES解密,如果解密失败,则返回错误;最后,进入换取用户信息的操作。
本申请实施例中具体地,还涉及Token换取用户信息方法,从Token校验中解密得到ID和USERNAME组成的明文后,使用约定的分隔符进行分割,将用户ID、用户名信息USERNAME和有效期时间戳TIMESTAMP返回给客户端,整个Token鉴权结果成功。所述Token鉴权成功后,只提供用户ID和用户名信息用于客户端展示,如果需要获取更详细的用户信息,则不属于本发明规定的用户基本信息的范围,需要使用另外的接口,根据用户ID去获取。
根据本申请实施例,作为本实施例中的优选,如图9所示,还包括:Token有效期刷新模块,所述Token有效期刷新模块包括:接收单元301,用于接收携带有合法Token的刷新Token请求;分层校验单元302,用于将所述Token分割后进行分层校验操作;解析单元303,用于对所述分层处理操作之后得到的结果解析得到用户信息,并生成包含新的过期时间戳的Token后返回。
本申请实施例中具体地,涉及Token有效期刷新方法,客户端根据某次会话Token获取的用户信息中返回的时间戳判断是否需要刷新Token的有效期,如果需要的话,就携带一个合法Token向服务端发起一个刷新Token请求,服务端收到刷新请求以后,先解析出用户信息,然后生成用于会话的Token生成方法重新生成一个包含新的过期时间戳的生成返回给客户端,客户端下次请求的时候就可以用新的生成进行会话鉴权。
根据本申请实施例,作为本实施例中的优选,如图10所示,对所述分层处理操作之后得到的结果解析得到用户信息并返回所述用户信息,完成会话鉴权之后,还包括:Token服务部署操作模块40,用于进行单机服务鉴权或分布式服务token鉴权。
本申请实施例中具体地,涉及Token生成服务部署方法,通过上述步骤是使用服务器IP作为AES和MD5加密的key,所以只能实现单机鉴权。如果想要实现分布式服务部署,可以将上述过程中的服务器IP替换成一个约定的固定的字符串值,这样即可实现分布式服务Token鉴权。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (4)
1.一种用于会话的鉴权方法,其特征在于,包括:
获取按照预设操作生成的用于会话的Token,并将所述Token分割后进行分层校验操作;
对所述分层处理操作之后得到的结果解析得到用户信息并返回所述用户信息,完成会话鉴权;
所述获取按照预设操作生成的用于会话的Token,并将所述Token分割后进行分层校验操作,具体包括:在用户信息鉴权通过之后,将用户ID和用户名采用预设标识符拼接;用服务器IP或者约定的固定的字符串作为Key对拼接后的字符串进行AES加密得到第一字符串s1;把所述第一字符串s1、短下划线和未来的一个有效期时间戳拼接成第二字符串s2;把第二字符串s2和服务器IP拼接成第三字符串并计算出md5值m;把第二字符串s2和m拼接成Token;返回所述Token;
获取会话请求中携带的Token;
将所述Token经过服务器IP或者约定的固定的字符串值的校验处理,具体包括:将Token按后面32个字符长度截断成第四字符串s4和第五字符串m5;计算第四字符串s4和服务器IP或者约定的固定的字符串值的md5值;判断第四字符串s4和服务器IP或者约定的固定的字符串值的md5值是否等于所述第五字符串m5,如果不相等则返回错误;
如果所述服务器IP或者约定的固定的字符串值的校验处理成功则进入时间戳校验处理,具体包括:将第四字符串s4使用短下划线进行分割,得到第六字符串s6和时间戳TIMESTAMP,判断当前时间戳是否大于所述时间戳TIMESTAMP,大于则返回Token过期提示;如果所述时间戳校验处理成功则进入解密处理,具体包括:将第六字符串s6和使用服务器IP进行AES解密,如果解密失败,则返回错误;
对所述分层处理操作之后得到的结果解析得到用户信息并返回所述用户信息,完成会话鉴权之后,还包括:Token有效期刷新步骤,所述Token有效期刷新步骤包括:接收携带有合法Token的刷新Token请求;将所述Token分割后进行分层校验操作;
对所述分层处理操作之后得到的结果解析得到用户信息,并生成包含新的过期时间戳的Token后返回。
2.根据权利要求1所述的鉴权方法,其特征在于,对所述分层处理操作之后得到的结果解析得到用户信息并返回所述用户信息,完成会话鉴权之后,还包括:Token服务部署操作,所述Token服务部署操作用于进行单机服务鉴权或分布式服务Token鉴权。
3.一种用于会话的鉴权装置,其特征在于,包括:
校验和分层处理模块,用于获取按照预设操作生成的用于会话的Token,并将所述Token分割后进行分层校验操作;
换取模块,用于对所述分层处理操作之后得到的结果解析得到用户信息并返回所述用户信息,完成会话鉴权;
Token有效期刷新模块;
所述校验和分层处理模块包括:
拼接单元,用于在用户信息鉴权通过之后,将用户ID和用户名采用预设标识符拼接;
生成返回单元,用于用服务器IP或者约定的固定的字符串作为Key对拼接后的字符串进行AES加密得到第一字符串s1;把所述第一字符串s1、短下划线和未来的一个有效期时间戳拼接成第二字符串s2;把第二字符串s2和服务器IP拼接成第三字符串并计算出md5值m;把第二字符串s2和m拼接成Token;返回所述Token;
获取单元,用于获取会话请求中携带的Token;
校验单元,用于将所述Token经过服务器IP或者字符串的校验处理,具体包括:将Token按后面32个字符长度截断成第四字符串s4和第五字符串m5;计算第四字符串s4和服务器IP或者约定的固定的字符串值的md5值;判断第四字符串s4和服务器IP或者约定的固定的字符串值的md5值是否等于所述第五字符串m5,如果不相等则返回错误;
如果所述服务器IP或者字符串的校验处理成功则进入时间戳校验处理,具体包括:将第四字符串s4使用短下划线进行分割,得到第六字符串s6和时间戳TIMESTAMP,判断当前时间戳是否大于所述时间戳TIMESTAMP,大于则返回Token过期提示;
解密单元,用于在所述时间戳校验处理成功后则进入解密处理,具体包括:将第六字符串s6和使用服务器IP或者约定的固定的字符串值进行AES解密,如果解密失败,则返回错误;
所述Token有效期刷新模块包括:
接收单元,用于接收携带有合法Token的刷新Token请求;
分层校验单元,用于将所述Token分割后进行分层校验操作;
解析单元,用于对所述分层处理操作之后得到的结果解析得到用户信息,并生成包含新的过期时间戳的Token后返回。
4.根据权利要求3所述的鉴权装置,其特征在于,还包括:Token服务部署操作模块,用于对所述分层处理操作之后得到的结果解析得到用户信息并返回所述用户信息,完成会话鉴权之后,进行Token服务部署操作,所述Token服务部署操作用于进行单机服务鉴权或分布式服务token鉴权。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910335979.0A CN110086802B (zh) | 2019-04-24 | 2019-04-24 | 用于会话的鉴权方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910335979.0A CN110086802B (zh) | 2019-04-24 | 2019-04-24 | 用于会话的鉴权方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110086802A CN110086802A (zh) | 2019-08-02 |
CN110086802B true CN110086802B (zh) | 2021-11-23 |
Family
ID=67416573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910335979.0A Active CN110086802B (zh) | 2019-04-24 | 2019-04-24 | 用于会话的鉴权方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110086802B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111368267A (zh) * | 2020-03-17 | 2020-07-03 | 山东云缦智能科技有限公司 | 一种Android应用代码保护的方法 |
CN111711602A (zh) * | 2020-05-12 | 2020-09-25 | 北京奇艺世纪科技有限公司 | 登录鉴权方法、装置、电子设备以及可读存储介质 |
CN112311545A (zh) * | 2020-11-05 | 2021-02-02 | 杭州电子科技大学 | 一种基于云mes***用户登录信息多重加密的传输方法 |
CN114499907B (zh) * | 2020-11-13 | 2023-06-23 | 中盈优创资讯科技有限公司 | 一种网络设备协议Session池化实现方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101605030A (zh) * | 2008-06-13 | 2009-12-16 | 新奥特(北京)视频技术有限公司 | 一种面向电视台应用的基于Active Directory的统一认证实现方法 |
CN104135494A (zh) * | 2014-08-22 | 2014-11-05 | 北京京东尚科信息技术有限公司 | 一种基于可信终端的同账户非可信终端登录方法及*** |
CN106302490A (zh) * | 2016-08-23 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | 一种基于Token的Web会话构建和服务调用方法 |
CN108833518A (zh) * | 2018-06-05 | 2018-11-16 | 南京联创互联网技术有限公司 | 一种基于nginx服务器生成会话ID的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015035396A1 (en) * | 2013-09-09 | 2015-03-12 | Layer, Inc. | Federated authentication of client computers in networked data communications services callable by applications |
-
2019
- 2019-04-24 CN CN201910335979.0A patent/CN110086802B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101605030A (zh) * | 2008-06-13 | 2009-12-16 | 新奥特(北京)视频技术有限公司 | 一种面向电视台应用的基于Active Directory的统一认证实现方法 |
CN104135494A (zh) * | 2014-08-22 | 2014-11-05 | 北京京东尚科信息技术有限公司 | 一种基于可信终端的同账户非可信终端登录方法及*** |
CN106302490A (zh) * | 2016-08-23 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | 一种基于Token的Web会话构建和服务调用方法 |
CN108833518A (zh) * | 2018-06-05 | 2018-11-16 | 南京联创互联网技术有限公司 | 一种基于nginx服务器生成会话ID的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110086802A (zh) | 2019-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110086802B (zh) | 用于会话的鉴权方法及装置 | |
JP7222036B2 (ja) | モデルトレーニングシステムおよび方法および記憶媒体 | |
CN103795692B (zh) | 开放授权方法、***与认证授权服务器 | |
CN103618717B (zh) | 多账户客户信息的动态认证方法、装置和*** | |
CN103329129B (zh) | 支持云环境的多租户审计感知 | |
CN106302606B (zh) | 一种跨应用访问方法及装置 | |
CN112788031B (zh) | 基于Envoy架构的微服务接口认证***、方法及装置 | |
EP2769304B1 (en) | Telemetry file hash and conflict detection | |
CN105141605B (zh) | 会话方法、网站服务器及浏览器 | |
CN108092766B (zh) | 一种密文搜索权限验证方法及其*** | |
CN111669408A (zh) | 一种身份注册及认证的方法及装置 | |
CA2988434A1 (en) | Automatic recharging system, method and server | |
CN107070942A (zh) | 一种数据保全方法及相关*** | |
CN107733883A (zh) | 一种检测批量注册账号的方法及装置 | |
DE102021129514A1 (de) | Binden von post-quanten-zertifikaten | |
CN106936600A (zh) | 流量计费方法和***以及相关设备 | |
US20210286792A1 (en) | Hashed balanced tree data structure | |
CN109324958A (zh) | 一种rest统一校验方法、装置、设备及可读存储介质 | |
CN104935555B (zh) | 客户端证书认证方法、服务器、客户端及*** | |
CN101567785B (zh) | 网络服务中的票据认证方法、***及实体 | |
CN107171808A (zh) | 一种电子档案真实性的验证方法及装置 | |
CN113472783B (zh) | 区块链密码证书服务方法、***、存储介质及装置 | |
CN113129008B (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
CN110138558A (zh) | 会话密钥的传输方法、设备及计算机可读存储介质 | |
CN101325493B (zh) | 用于认证用户的方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 200135 Room 308, floor 3, unit 2, No. 231, Expo Village Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai Patentee after: Wheel interconnection technology (Shanghai) Co.,Ltd. Address before: 200125 Room 501, 5 / F, building 3, 3601 Dongfang Road, Pudong New Area, Shanghai Patentee before: SHANGHAI YIDIAN SPACE NETWORK Co.,Ltd. |