CN115567271B - 鉴权方法和装置、页面跳转方法和装置、电子设备及介质 - Google Patents
鉴权方法和装置、页面跳转方法和装置、电子设备及介质 Download PDFInfo
- Publication number
- CN115567271B CN115567271B CN202211150221.8A CN202211150221A CN115567271B CN 115567271 B CN115567271 B CN 115567271B CN 202211150221 A CN202211150221 A CN 202211150221A CN 115567271 B CN115567271 B CN 115567271B
- Authority
- CN
- China
- Prior art keywords
- information
- data
- client
- user
- login
- 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
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000012545 processing Methods 0.000 claims abstract description 31
- 230000009191 jumping Effects 0.000 claims abstract description 19
- 238000012795 verification Methods 0.000 claims description 101
- 238000013524 data verification Methods 0.000 claims description 38
- 238000004590 computer program Methods 0.000 claims description 11
- 235000014510 cooky Nutrition 0.000 description 18
- 238000004891 communication Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/08—Network architectures or network communication protocols for network security for authentication of entities
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供了一种鉴权方法和装置、页面跳转方法和装置、电子设备及介质,属于互联网技术领域。该方法包括:接收第一网络请求和会话登录信息,根据第一网络请求对会话登录信息进行登录状态校验,生成用户编码信息,接收第二网络请求、根据用户编码信息反馈的加密数据以及加签数据,根据第二网络请求对加密数据和加签数据进行数据校验生成令牌信息,接收第三网络请求、令牌信息和根据令牌信息反馈的预设查询接口的接口信息,根据第三网络请求对令牌信息进行令牌校验,根据接口信息调用预设查询接口进行查询处理,得到用户信息,将用户信息发送至客户端,用户信息用于客户端确定目标页面的登录权限,能够提高客户端跳转第三方页面的访问安全性。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种鉴权方法和装置、页面跳转方法和装置、电子设备及介质。
背景技术
相关技术中,跳转第三方页面时,第三方系统需要对用户进行认证。用户在登录状态下打开第三方页面时,会访问到认证中心,认证中心会将当前登录信息以加密的方式直接传递给第三方系统,由第三方系统进行信息解密,并根据解密信息进行业务处理,这一认证方式往往无法较好地保护用户信息,影响页面跳转过程中的访问安全性,因此,如何提高页面跳转过程中的访问安全性,成为了亟待解决的问题。
发明内容
本申请实施例的主要目的在于提出一种鉴权方法和装置、页面跳转方法和装置、电子设备及介质,旨在提高客户端跳转第三方页面的访问安全性。
为实现上述目的,本申请实施例的第一方面提出了一种鉴权方法,应用于服务器端,所述鉴权方法包括:
接收客户端发送的第一网络请求和会话登录信息;
根据所述第一网络请求对所述会话登录信息进行登录状态校验,得到登录校验结果,并当所述登录校验结果为通过时,生成用户编码信息;
将所述用户编码信息发送至所述客户端;
接收所述客户端发送的第二网络请求、根据所述用户编码信息反馈的加密数据以及加签数据;
根据所述第二网络请求对所述加密数据和所述加签数据进行数据校验,得到数据校验结果,并当所述数据校验结果为通过时,生成令牌信息;
将所述令牌信息发送至所述客户端;
接收所述客户端发送的第三网络请求、所述令牌信息和根据所述令牌信息反馈的预设查询接口的接口信息;
根据所述第三网络请求对所述令牌信息进行令牌校验,得到令牌校验结果,并当所述令牌校验结果为通过时,根据所述接口信息调用所述预设查询接口进行查询处理,得到用户信息;
将所述用户信息发送至所述客户端;其中,所述用户信息用于所述客户端确定目标页面的登录权限。
在一些实施例,所述根据所述第一网络请求对所述会话登录信息进行登录状态校验,得到登录校验结果,包括:
根据所述第一网络请求和预设的加密规则对所述会话登录信息进行加密规则校验;
若所述会话登录信息符合所述加密规则,则比对所述会话登录信息的第一有效期限与预设的第一时间阈值;
若所述第一有效期限小于或者等于所述第一时间阈值,则确定所述登录校验结果为通过。
在一些实施例,在所述将所述用户编码信息发送至所述客户端之后,所述鉴权方法还包括:
将所述用户编码信息存储至预设的数据库;
比对所述用户编码信息的第二有效期限和预设的第二时间阈值;
若所述第二有效期限大于所述第二时间阈值,则从所述数据库中剔除所述用户编码信息。
在一些实施例,所述根据所述第二网络请求对所述加密数据和所述加签数据进行数据校验,得到数据校验结果,包括:
根据所述第二网络请求和预设私钥对加密数据进行解密处理,得到解密数据;
根据预设公钥对加签数据进行验签处理,得到验签数据;
比对所述解密数据和所述数据库中的所述用户编码信息,得到第一比对结果;
比对所述验签数据和预设的参考数据,得到第二比对结果;
若所述第一比对结果为所述解密数据和所述用户编码信息一致,且所述第二比对结果为所述验签数据和所述参考数据一致,则确定所述数据校验结果为通过。
为实现上述目的,本申请实施例的第二方面提出了一种页面跳转方法,应用于客户端,所述页面跳转方法包括:
发送第一网络请求和会话登录信息至服务器端;
接收所述服务器端根据所述第一网络请求对所述会话登录信息进行登录状态校验反馈的用户编码信息;其中,所述用户编码信息由所述服务器端在所述会话登录信息进行登录状态校验通过时生成;
对所述用户编码信息进行加密处理,得到加密数据,并对所述加密数据进行加签处理,得到加签数据;
发送第二网络请求、所述加密数据以及所述加签数据至所述服务器端;
接收所述服务器端根据所述第二网络请求对所述加密数据以及所述加签数据进行数据校验反馈的令牌信息;其中,所述令牌信息由所述服务器端在所述加密数据以及所述加签数据进行数据校验通过时生成;
根据所述令牌信息获取预设查询接口的接口信息;
发送第三网络请求、所述令牌信息以及所述接口信息至所述服务器端;
接收所述服务器端根据所述第三网络请求、所述令牌信息以及所述接口信息反馈的用户信息;
根据所述用户信息确定目标页面的登录权限;
若所述登录权限为允许登录,则跳转至所述目标页面。
在一些实施例,所述对所述用户编码信息进行加密处理,得到加密数据,并对所述加密数据进行加签处理,得到加签数据,包括:
获取所述客户端的身份标识和所述客户端调用预设请求接口的时间戳;
对所述用户编码信息、所述时间戳和所述身份标识进行拼接处理,得到目标字符串;
根据预设公钥对所述目标字符串进行加密处理,得到所述加密数据;
根据预设私钥对所述加密数据进行加签处理,得到所述加签数据。
为实现上述目的,本申请实施例的第三方面提出了一种鉴权装置,应用于服务器端,所述鉴权装置包括:
服务器端第一接收模块,用于接收客户端发送的第一网络请求和会话登录信息;
第一校验模块,用于根据所述第一网络请求对所述会话登录信息进行登录状态校验,得到登录校验结果,并当所述登录校验结果为通过时,生成用户编码信息;
服务器端第一发送模块,用于将所述用户编码信息发送至所述客户端;
服务器端第二接收模块,用于接收所述客户端发送的第二网络请求、根据所述用户编码信息反馈的加密数据以及加签数据;
第二校验模块,用于根据所述第二网络请求对所述加密数据和所述加签数据进行数据校验,得到数据校验结果,并当所述数据校验结果为通过时,生成令牌信息;
服务器端第二发送模块,用于将所述令牌信息发送至所述客户端;
服务器端第三接收模块,用于接收所述客户端发送的第三网络请求、所述令牌信息和根据所述令牌信息反馈的预设查询接口的接口信息;
第三校验模块,用于根据所述第三网络请求对所述令牌信息进行令牌校验,得到令牌校验结果,并当所述令牌校验结果为通过时,根据所述接口信息调用所述预设查询接口进行查询处理,得到用户信息;
服务器端第三发送模块,用于将所述用户信息发送至所述客户端;其中,所述用户信息用于所述客户端确定目标页面的登录权限。
为实现上述目的,本申请实施例的第四方面提出了一种页面跳转装置,应用于客户端,所述页面跳转装置包括:
客户端第一发送模块,用于发送第一网络请求和会话登录信息至服务器端;
客户端第一接收模块,用于接收所述服务器端根据所述第一网络请求对所述会话登录信息进行登录状态校验反馈的用户编码信息;其中,所述用户编码信息由所述服务器端在所述会话登录信息进行登录状态校验通过时生成;
加密加签模块,用于对所述用户编码信息进行加密处理,得到加密数据,并对所述加密数据进行加签处理,得到加签数据;
客户端第二发送模块,用于发送第二网络请求、所述加密数据以及所述加签数据至所述服务器端;
客户端第二接收模块,用于接收所述服务器端根据所述第二网络请求对所述加密数据以及所述加签数据进行数据校验反馈的令牌信息;其中,所述令牌信息由所述服务器端在所述加密数据以及所述加签数据进行数据校验通过时生成;
获取模块,用于根据所述令牌信息获取预设查询接口的接口信息;
客户端第三发送模块,用于发送第三网络请求、所述令牌信息以及所述接口信息至所述服务器端;
客户端第三接收模块,用于接收所述服务器端根据所述第三网络请求、所述令牌信息以及所述接口信息反馈的用户信息;
权限确定模块,用于根据所述用户信息确定目标页面的登录权限;
跳转模块,用于若所述登录权限为允许登录,则跳转至所述目标页面。
为实现上述目的,本申请实施例的第五方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面或者第二方面所述的方法。
为实现上述目的,本申请实施例的第六方面提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面或者第二方面所述的方法。
本申请提出的鉴权方法、页面跳转方法、鉴权装置、页面跳转装置、电子设备及计算机可读存储介质,其通过接收客户端发送的第一网络请求和会话登录信息,根据第一网络请求对会话登录信息进行登录状态校验,能够较为方便地确定客户端的登录状态,得到登录校验结果,并当登录校验结果为通过时,生成用户编码信息,将用户编码信息发送至客户端,接收客户端发送的第二网络请求、根据用户编码信息反馈的加密数据以及加签数据,通过对数据进行加密、加签能够保证数据传输的安全性,根据第二网络请求对加密数据和加签数据进行数据校验,得到数据校验结果,并当数据校验结果为通过时,生成令牌信息,将令牌信息发送至客户端,接收客户端发送的第三网络请求、令牌信息和根据令牌信息反馈的预设查询接口的接口信息,根据第三网络请求对令牌信息进行令牌校验,得到令牌校验结果,并当令牌校验结果为通过时,根据接口信息调用预设查询接口进行查询处理,得到用户信息,根据接口信息进行接口调用,能够得到符合客户端需求的目标接口,区别于随机选取某个接口进行接口查询,能够提高接口查询的准确性,将用户信息发送至客户端,其中,用户信息用于客户端确定目标页面的登录权限,通过登录态校验、参数校验和令牌校验三重校验,从整体上提高了客户端跳转第三方页面的安全性。
附图说明
图1是本申请实施例提供的鉴权方法的流程图;
图2是图1中的步骤S120的流程图;
图3是本申请实施例提供的鉴权方法的另一流程图;
图4是图1中的步骤S150的流程图;
图5是本申请实施例提供的页面跳转方法的流程图;
图6是图5中的步骤S5030的流程图;
图7是本申请实施例提供的鉴权装置的结构示意图;
图8是本申请实施例提供的页面跳转装置的结构示意图;
图9是本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
首先,对本申请中涉及的若干名词进行解析:
鉴权:鉴权是指验证用户是否拥有访问系统的权利。
cookie:是由服务器发送到浏览器的变量。cookie通常是服务器嵌入到用户计算机中的小文本文件。每当计算机通过浏览器请求一个页面,就会发送这个cookie。
密钥:密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。
相关技术中,跳转第三方页面时,第三方系统需要对用户进行认证。用户在登录状态下打开第三方页面时,会访问到认证中心,认证中心会将当前登录信息以加密的方式直接传递给第三方系统,由第三方系统进行信息解密,并根据解密信息进行业务处理,这一认证方式往往无法较好地保护用户信息,影响页面跳转过程中的访问安全性,因此,如何提高页面跳转过程中的访问安全性,成为了亟待解决的问题。
基于此,本申请实施例提供了一种鉴权方法和装置、页面跳转方法和装置、电子设备及存储介质,旨在提高客户端跳转第三方页面的访问安全性。
本申请实施例提供的鉴权方法、页面跳转方法、鉴权装置、页面跳转装置、电子设备及计算机可读存储介质,具体通过如下实施例进行说明,首先描述本申请实施例中的鉴权方法。
本申请实施例提供的鉴权方法,涉及互联网技术领域。本申请实施例提供的鉴权方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现鉴权方法的应用等,但并不局限于以上形式。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
需要说明的是,在本申请的各个具体实施方式中,当涉及到需要根据用户信息、用户行为数据,用户历史数据以及用户位置信息等与用户身份或特性相关的数据进行相关处理时,都会先获得用户的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关国家和地区的相关法律法规和标准。此外,当本申请实施例需要获取用户的敏感个人信息时,会通过弹窗或者跳转到确认页面等方式获得用户的单独许可或者单独同意,在明确获得用户的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的用户相关数据。
图1是本申请实施例提供的鉴权方法的一个可选的流程图,应用于服务器端,图1中的方法可以包括但不限于包括步骤S110至步骤S190。
步骤S110,接收客户端发送的第一网络请求和会话登录信息;
步骤S120,根据第一网络请求对会话登录信息进行登录状态校验,得到登录校验结果,并当登录校验结果为通过时,生成用户编码信息;
步骤S130,将用户编码信息发送至客户端;
步骤S140,接收客户端发送的第二网络请求、根据用户编码信息反馈的加密数据以及加签数据;
步骤S150,根据第二网络请求对加密数据和加签数据进行数据校验,得到数据校验结果,并当数据校验结果为通过时,生成令牌信息;
步骤S160,将令牌信息发送至客户端;
步骤S170,接收客户端发送的第三网络请求、令牌信息和根据令牌信息反馈的预设查询接口的接口信息;
步骤S180,根据第三网络请求对令牌信息进行令牌校验,得到令牌校验结果,并当令牌校验结果为通过时,根据接口信息调用预设查询接口进行查询处理,得到用户信息;
步骤S190,将用户信息发送至客户端;其中,用户信息用于客户端确定目标页面的登录权限。
本申请实施例所示意的步骤S110至步骤S190,通过接收客户端发送的第一网络请求和会话登录信息,根据第一网络请求对会话登录信息进行登录状态校验,能够较为方便地确定客户端的登录状态,得到登录校验结果,并当登录校验结果为通过时,生成用户编码信息,将用户编码信息发送至客户端,接收客户端发送的第二网络请求、根据用户编码信息反馈的加密数据以及加签数据,通过对数据进行加密、加签能够保证数据传输的安全性,根据第二网络请求对加密数据和加签数据进行数据校验,得到数据校验结果,并当数据校验结果为通过时,生成令牌信息,将令牌信息发送至客户端,接收客户端发送的第三网络请求、令牌信息和根据令牌信息反馈的预设查询接口的接口信息,根据第三网络请求对令牌信息进行令牌校验,得到令牌校验结果,并当令牌校验结果为通过时,根据接口信息调用预设查询接口进行查询处理,得到用户信息,根据接口信息进行接口调用,能够得到符合客户端需求的目标接口,区别于随机选取某个接口进行接口查询,能够提高接口查询的准确性,将用户信息发送至客户端,用户信息用于客户端确定目标页面的登录权限,通过登录态校验、参数校验和令牌校验三重校验,从整体上提高了客户端跳转第三方页面的安全性。
在一些实施例的步骤S110中,客户端通过浏览器向服务器端发送第一网络请求和会话登录信息,其中第一网络请求用于客户端向服务器端请求获取用户编码信息,会话登录信息为cookie信息,是存储于客户端本地的数据。当客户端第一次访问服务器端时,将用户名和密码传递给服务器端,服务器端将用户名和密码与数据库中的基准用户名和基准密码进行比对,其中用户名可以为客户端用户的工号、部门号、手机号等,若比对结果为用户名与基准用户名匹配,且密码与基准密码匹配,则服务器端生成cookie,并且以setcookie的方式进行cookie设置,向cookie里面以键值对的形式存储关于用户信息的数据,并将cookie回传至客户端,当客户端下一次向服务器端发送网络请求时,会自动携带cookie信息,服务器端通过解析cookie信息得到客户端的用户身份信息,向客户端返回数据。若比对结果为用户名与基准用户名不匹配或者密码与基准密码不匹配,则服务器端向客户端返回目标信息,该目标信息用于提示客户端的用户重新输入用户名和密码。
请参阅图2,在一些实施例中,步骤S120可以包括但不限于包括步骤S210至步骤S230:
步骤S210,根据第一网络请求和预设的加密规则对会话登录信息进行加密规则校验;
步骤S220,若会话登录信息符合加密规则,则比对会话登录信息的第一有效期限与预设的第一时间阈值;
步骤S230,若第一有效期限小于或者等于第一时间阈值,则确定登录校验结果为通过。
在一些实施例的步骤S210中,为了确保客户端发送的cookie信息是符合加密规则的字符串,服务器端接收到第一网络请求,根据加密规则对会话登录信息进行加密规则校验。具体地,对会话登录信息进行解码,得到一个包括用户id、cookie有效期和第一验证序列的字符串,根据用户id从预设的映射表中查找出该用户id对应的密码、cookie有效时间和webkey,将用户id、密码、cookie有效时间和webkey进行连接,得到候选字符串,根据预设的加密规则例如MD5对候选字符串进行加密,得到第二验证序列,若第一验证序列和第二验证序列一致,则说明会话登录信息符合加密规则,若第一验证序列和第二验证序列不一致,则说明会话登录信息不符合加密规则。需要说明的是,webkey为客户端一个自定义的字符串常量,可根据实际需要自行定义。
在一些实施例的步骤S220中,若会话登录信息符合加密规则,则将会话登录信息的第一有效期限与预设的第一时间阈值进行比对,其中第一有效期限为客户端第一次携带cookie发起网络请求的时间和cookie有效时间的时间和值,第一时间阈值为服务器端当前的时间。若会话登录信息不符合加密规则,则提示客户端重新登录。
在一些实施例的步骤S230中,若第一有效期限小于或者等于第一时间阈值,说明会话登录信息有效,则确定登录校验结果为通过,即用户成功登录,服务器端通过java工具类生成用户编码信息code。若第一有效期限大于第一时间阈值,说明会话登录信息超时,则确定登录校验结果为不通过,即用户登录失败,则客户端跳转至登录页重新登录。
上述步骤S210至步骤S230,通过对会话登录信息进行加密规则校验、有效期校验,能够确定客户端用户的登录状态为登录成功还是登录失败,便于规范用户的登录流程,使用户能够安全登录。
在一些实施例的步骤S130中,服务器端生成用户编码信息code后,将用户编码信息code发送至客户端,其中用户编码信息code是一个32位标识,能够作为键值映射当前登录用户的用户信息,例如用户编码信息code可以作为键值映射当前登录用户的工号、部门号、手机号等用户信息。可以理解的是,由于用户编码信息code是经过登录会话认证后返回的,因此用户编码信息code能够保证数据传输的安全性。
请参阅图3,在一些实施例中,在步骤S130之后,鉴权方法可以包括但不限于包括步骤S310至步骤S330:
步骤S310,将用户编码信息存储至预设的数据库;
步骤S320,比对用户编码信息的第二有效期限和预设的第二时间阈值;
步骤S330,若第二有效期限大于第二时间阈值,则从数据库中剔除用户编码信息。
在一些实施例的步骤S310中,当登录校验结果为通过,服务器端生成用户编码信息code,并将用户编码信息存储至预设的数据库,例如redis等。
在一些实施例的步骤S320中,将用户编码信息的第二有效期限和第二时间阈值进行比对,以确定用户编码信息是否失效,其中第二有效期限为用户编码信息code存储至数据库的时间和用户编码信息code有效时间的时间和值,code有效时间可以是1分钟、1小时等,第二时间阈值为服务器端的当前时间。
在一些实施例的步骤S330中,若第二有效期限大于第二时间阈值,说明用户编码信息code失效,则从数据库中剔除用户编码信息code。若第二有效期限小于或者等于第二时间阈值,说明用户编码信息code有效,则维持数据库中的该用户编码信息code直至该用户编码信息code无效。
上述步骤S310至步骤S330中,通过将用户编码信息的第二有效期限和第二时间阈值进行比对,若第二有效期限大于第二时间阈值,则从数据库中剔除编码信息,当客户端携带用户编码信息code向服务器端发起网络请求时,可直接通过查找数据库确定客户端携带的用户编码信息code是否有效,当能够从数据库中查找到用户编码信息code,则说明用户编码信息code有效,当无法从数据库中查找到用户编码信息code,则说明用户编码信息code无效,便于服务器端验证客户端的用户编码信息code是否有效,提高数据校验的效率。
在一些实施例的步骤S140中,接收客户端发送的第二网络请求、根据用户编码信息反馈的加密数据以及根据用户编码信息反馈的加签数据,其中第二网络请求用于客户端向服务器端请求获取令牌信息。
请参阅图4,在一些实施例中,步骤S150可以包括但不限于包括步骤S410至步骤S450:
步骤S410,根据第二网络请求和预设私钥对加密数据进行解密处理,得到解密数据;
步骤S420,根据预设公钥对加签数据进行验签处理,得到验签数据;
步骤S430,比对解密数据和数据库中的用户编码信息,得到第一比对结果;
步骤S440,比对验签数据和预设的参考数据,得到第二比对结果;
步骤S450,若第一比对结果为解密数据和用户编码信息一致,且第二比对结果为验签数据和参考数据一致,则确定数据校验结果为通过。
在一些实施例的步骤S410中,当服务器端接收到第二网络请求为获取令牌信息,通过其与客户端约定的密钥对对加密数据和加签数据进行处理,其中密钥对包括第一公钥、第一私钥、第二公钥和第二私钥,其中第一公钥用于对用户编码信息进行加密处理得到加密数据,第一私钥用于对加密数据进行解密处理得到解密数据,第二私钥用于对加密数据进行加签处理得到加签数据,第二公钥用于对加签数据进行验签处理得到验签数据。具体地,根据第一私钥对加密数据进行解密处理得到解密数据。需要说明的是,第一公钥可以和第二公钥相同,也可以和第二公钥不同,第一私钥可以和第二私钥相同,也可以和第二私钥不同。
在一些实施例的步骤S420中,根据第二公钥对加签数据进行签名验证得到验签数据。
在一些实施例的步骤S430中,解密数据包括客户端发送的用户编码信息code1,服务器端数据库中存储的用户编码信息表示为code2。将客户端发送的用户编码信息code1与服务器端存储至数据库中的用户编码信息code2进行比对,得到第一比对结果,其中第一比对结果包括code1和code2一致、code1和code2不一致。
在一些实施例的步骤S440中,将验签数据和参考数据进行比对,得到第二比对结果,其中第二比对结果包括验签数据和参考数据一致、验签数据和参考数据不一致。当第二比对结果为验签数据和参考数据一致,则说明数据没有被篡改,当第二比对结果为验签数据和参考数据不一致,则说明数据被篡改,通过对数据加签,能够使服务器识别客户端数据发送者的身份,防止数据被篡改,增加了数据传输过程中的安全性。参考数据由服务器端使用哈希函数,对客户端发送的加签数据进行处理得到,该哈希函数与客户端加签时使用的哈希函数相同。
在一些实施例的步骤S450中,若第一比对结果为code1和code2一致,且验签数据和参考数据一致,则确定数据校验结果为通过。若第一比对结果为code1和code2不一致,或者验签数据和参考数据不一致,则确定数据校验结果为不通过。需要说明的是,若能够从数据库中查找到与code1相同的code2,则说明code1和code2一致,若无法从数据库中查找到与code1相同的code2,则说明code1和code2不一致。
上述步骤S410至步骤S450中,通过对加密数据、加签数据进行数据校验,当解密数据和用户编码信息一致,且验签数据和参考数据一致,服务器端才生成令牌信息,能够防止数据被篡改,提高数据传输的安全性。
在一些实施例的步骤S160中,服务器端使用其私有的密钥key,利用java工具类生成令牌信息accesstoken,其中令牌信息为客户端访问服务器端的通信凭证,是具有时效的加密串。需要说明的是,私钥key与上述第一私钥和第二私钥不同,第一私钥和第二私钥为客户端与服务器端约定的私钥,私钥key为服务器端私有的密钥。
在一些实施例的步骤S170中,服务器端接收客户端发送的第三网络请求、令牌信息和根据令牌信息反馈的预设查询接口的接口信息,其中第三网络请求用于客户端向服务器端请求获取用户扩展信息,用户扩展信息可以为除工号、手机号以外的其他身份信息,例如账号、邮箱号等。
在一些实施例的步骤S180中,若第三网络请求为获取用户扩展信息,服务器端对令牌信息进行令牌校验,当令牌信息的过期时间大于或者等于服务器端的当前时间,说明令牌信息未过期,则令牌校验结果为通过,当令牌信息的过期时间小于服务器端的当前时间,说明令牌信息过期,则令牌校验结果为不通过。当令牌校验结果为通过时,根据接口信息调用预设查询接口进行查询处理,得到用户信息。
在一些实施例的步骤S190中,服务器端将用户信息发送至客户端,用户信息用于客户端确定目标页面的登录权限。
图5是本申请实施例提供的页面跳转方法的一个可选的流程图,应用于客户端,图5中的方法可以包括但不限于包括步骤S5010至步骤S5100。
步骤S5010,发送第一网络请求和会话登录信息至服务器端;
步骤S5020,接收服务器端根据第一网络请求对会话登录信息进行登录状态校验反馈的用户编码信息;其中,用户编码信息由服务器端在会话登录信息进行登录状态校验通过时生成;
步骤S5030,对用户编码信息进行加密处理,得到加密数据,并对加密数据进行加签处理,得到加签数据;
步骤S5040,发送第二网络请求、加密数据以及加签数据至服务器端;
步骤S5050,接收服务器端根据第二网络请求对加密数据以及加签数据进行数据校验反馈的令牌信息;其中,令牌信息由服务器端在加密数据以及加签数据进行数据校验通过时生成;
步骤S5060,根据令牌信息获取预设查询接口的接口信息;
步骤S5070,发送第三网络请求、令牌信息以及接口信息至服务器端;
步骤S5080,接收服务器端根据第三网络请求、令牌信息以及接口信息反馈的用户信息;
步骤S5090,根据用户信息确定目标页面的登录权限;
步骤S5100,若登录权限为允许登录,则跳转至目标页面。
在一些实施例的步骤S5010中,客户端向服务器端发送第一网络请求和会话登录信息,其中第一网络请求用于客户端向服务器端请求获取用户编码信息,会话登录信息为cookie信息。
在一些实施例的步骤S5020中,服务器端根据第一网络请求对会话登录信息进行登录状态校验,得到登录校验结果,并当登录校验结果为通过时,生成用户编码信息,将用户编码信息发送至客户端。
在一些实施例的步骤S5030中,获取客户端的身份标识和客户端调用预设请求接口的时间戳,对用户编码信息、时间戳和身份标识进行拼接处理,得到目标字符串,根据预设公钥对目标字符串进行加密处理得到加密数据,根据预设私钥对加密数据进行加签处理,得到加签数据。
在一些实施例的步骤S5040中,客户端发送第二网络请求、加密数据以及加签数据至服务器端,其中第二网络请求用于客户端向服务器端请求获取令牌信息。
在一些实施例的步骤S5050中,服务器端根据第二网络请求对加密数据和加签数据进行数据校验,得到数据校验结果,并当数据校验结果为通过时,生成令牌信息,将令牌信息发送至客户端。
在一些实施例的步骤S5060中,令牌信息作为客户端访问预设查询接口的通信凭证,根据令牌信息获取预设查询接口的接口信息,以根据接口信息调用预设查询接口。
在一些实施例的步骤S5070中,客户端发送第三网络请求、令牌信息以及接口信息至服务器端,其中第三网络请求用于客户端向服务器端请求获取用户信息。
在一些实施例的步骤S5080中,服务器端根据第三网络请求对令牌信息进行令牌校验,得到令牌校验结果,并当令牌校验结果为通过时,根据接口信息调用预设查询接口进行查询处理,得到用户信息,将用户信息发送至客户端,以使客户端能够接收到用户信息。
在一些实施例的步骤S5090中,客户端根据用户信息新建登录会话,客户端后端响应于客户端前端页面的点击操作,确定目标页面的登录权限,以支持页面跳转。若客户端后端接收到来自客户端前端的登录信号,则确定目标页面的登录权限为允许登录,若客户端后端接收到来自客户端前端的非登录信号或者没有接收到登录信号,则确定目标页面的登录权限为不允许登录。
在一些实施例的步骤S5100中,若登录权限为允许登录,则跳转至目标页面。若登录权限为不允许登录,则维持当前登录页面。
上述步骤S5010至步骤S5100,通过对用户编码信息进行加密处理,得到加密数据,并对加密数据进行加签处理,得到加签数据,能够保证用户编码信息在数据传输过程中的安全性,防止用户编码信息被篡改。进一步地,通过登录状态校验、数据校验和令牌校验三重校验完成用户鉴权,能够规范鉴权流程,使用户能够安全跳转至目标页面,提高页面跳转过程中用户数据的安全性。
请参阅图6,在一些实施例中,步骤S5030可以包括但不限于包括步骤S610至步骤S640:
步骤S610,获取客户端的身份标识和客户端调用预设请求接口的时间戳;
步骤S620,对用户编码信息、时间戳和身份标识进行拼接处理,得到目标字符串;
步骤S630,根据预设公钥对目标字符串进行加密处理,得到加密数据;
步骤S640,根据预设私钥对加密数据进行加签处理,得到加签数据。
在一些实施例的步骤S610中,获取客户端的身份标识和客户端调用预设请求接口的时间戳,其中客户端的身份标识为appid,该appid是客户端与服务器端预先约定的身份标识,预设请求接口为客户端发送第二网络请求所调用的接口,即获取accesstoken的接口。通过时间戳可计算accesstoken的过期时间,防止重放攻击获取accesstoken。
在一些实施例的步骤S620中,若用户编码信息表示为code,时间戳表示为timestamp,身份标识表示为appid,将appid、code和timestamp进行组合得到目标字符串{appid,code,timestamp}。
在一些实施例的步骤S630中,根据第一公钥对目标字符串进行加密处理,得到加密数据。
在一些实施例的步骤S640中,将加密数据和第二私钥输入至hmac-sha1算法进行加签处理,得到加签数据,其中加签数据包括appsign。
上述步骤S610至步骤S640,通过对数据进行加密、加签处理,能够防止数据被篡改,提高数据传输的安全性。
相关技术中,第三方系统和认证中心约定加密、解密密钥,用于传递数据。客户端在登录状态下打开第三方页面时,会访问到认证中心的接口,客户端带上需要传递的参数信息做登录状态校验,当没有会话cookie或者会话超时则跳转到登录页,会话有效则将当前登录人、参数信息一起加密传递给第三方前端,否则跳转登录页,第三方后端解密得到工号、参数信息,构造自己的会话支持自有逻辑。但是这种用户认证方式,参数是通过前端传递过来的,导致数据不安全、且某些参数前端获取不到,第三方系统也无法从认证中心获取用户扩展信息。
本申请实施例中,APP内有第三方页面的入口,点击页面进行APP端跳转第三方页面。第三方系统后端和鉴权中心服务器约定通信的appid和密钥。认证中心服务器可配置第三系统需要的用户信息字段,能够对对外数据字段进行管控,以提高页面跳转的安全性。
当app端跳转第三方页面时,第三方系统前端通过sdk向认证中心服务器请求获取code,由于认证中心服务器是内网应用,不能直接暴露在外网,因此获取code的请求首先被发送至网关,再由网关转发至认证中心服务器。认证中心服务器根据请求对会话登录信息进行登录状态校验,并将登录校验结果发送至网关,网关对登录校验结果进行判断,当登录校验结果为通过,则向鉴权中心服务器发送获取code的请求,鉴权中心服务器生成用户编码信息code,并将用户编码信息code发送至网关,网关向第三方系统前端返回用户编码信息code。第三方系统前端携带code访问第三方系统后端,第三方系统后端对appid、code和timestamp进行拼接得到目标字符串,并使用约定的密钥对目标字符串进行加密处理得到加密数据,使用约定的密钥对加密数据进行加签处理得到加签数据,第三方系统后端携带加密数据和加签数据请求鉴权中心服务器获取accesstoken,鉴权中心服务器对加密数据以及加签数据进行数据校验向网关返回accesstoken,网关转发accesstoken至第三方系统后端,第三方后端携带accesstoken请求调用查询接口获取用户信息,网关接收到请求将请求转发至鉴权中心服务器,鉴权中心服务器对accesstoken进行令牌校验,向网关返回令牌校验结果,网关对令牌校验结果进行判断,当令牌校验结果为通过,则向认证中心服务器发送调用查询接口的请求,认证中心服务器根据请求向网关返回用户信息,网关将用户信息转发至第三方系统后端,以使第三方系统后端根据用户信息构建登录会话,并将登录界面呈现于第三方系统前端,以支持页面跳转,解决了前端传递参数不安全、某些参数前端获取不到的问题,便于第三方系统后端从认证中心服务器获取用户扩展信息。
微信端跳转第三方页面的方法与app端跳转第三方页面的方法相同,此处不再赘述。
需要说明的是,PC端获取code需要额外传递要跳转的第三方页面callbackurl作为参数,第三方页面会提前配置到鉴权中心服务器。PC端向认证中心服务器发起获取code的请求,认证中心服务器根据请求对登录会话信息进行登录状态校验,当登录校验通过后,网关向鉴权中心服务器发送获取code的请求,鉴权中心服务器根据请求校验第三方页面是合法后才会发起重定向到第三方页面并携带code返回至第三方系统前端,后续获取accesstoken跳转第三方页面的方法与微信端、app端相同,此处不再赘述。
请参阅图7,本申请实施例还提供一种鉴权装置,应用于服务器端,可以实现上述鉴权方法,该鉴权装置包括:
服务器端第一接收模块710,用于接收客户端发送的第一网络请求和会话登录信息;
第一校验模块720,用于根据第一网络请求对会话登录信息进行登录状态校验,得到登录校验结果,并当登录校验结果为通过时,生成用户编码信息;
服务器端第一发送模块730,用于将用户编码信息发送至客户端;
服务器端第二接收模块740,用于接收客户端发送的第二网络请求、根据用户编码信息反馈的加密数据以及加签数据;
第二校验模块750,用于根据第二网络请求对加密数据和加签数据进行数据校验,得到数据校验结果,并当数据校验结果为通过时,生成令牌信息;
服务器端第二发送模块760,用于将令牌信息发送至客户端;
服务器端第三接收模块770,用于接收客户端发送的第三网络请求、令牌信息和根据令牌信息反馈的预设查询接口的接口信息;
第三校验模块780,用于根据第三网络请求对令牌信息进行令牌校验,得到令牌校验结果,并当令牌校验结果为通过时,根据接口信息调用预设查询接口进行查询处理,得到用户信息;
服务器端第三发送模块790,用于将用户信息发送至客户端;其中,用户信息用于客户端确定目标页面的登录权限。
该鉴权装置的具体实施方式与上述鉴权方法的具体实施例基本相同,在此不再赘述。
请参阅图8,本申请实施例还提供一种页面跳转装置,应用于客户端,可以实现上述页面跳转方法,该页面跳转装置包括:
客户端第一发送模块8010,用于发送第一网络请求和会话登录信息至服务器端;
客户端第一接收模块8020,用于接收服务器端根据第一网络请求对会话登录信息进行登录状态校验反馈的用户编码信息;其中,用户编码信息由服务器端在会话登录信息进行登录状态校验通过时生成;
加密加签模块8030,用于对用户编码信息进行加密处理,得到加密数据,并对加密数据进行加签处理,得到加签数据;
客户端第二发送模块8040,用于发送第二网络请求、加密数据以及加签数据至服务器端;
客户端第二接收模块8050,用于接收服务器端根据第二网络请求对加密数据以及加签数据进行数据校验反馈的令牌信息;其中,令牌信息由服务器端在加密数据以及加签数据进行数据校验通过时生成;
获取模块8060,用于根据令牌信息获取预设查询接口的接口信息;
客户端第三发送模块8070,用于发送第三网络请求、令牌信息以及接口信息至服务器端;
客户端第三接收模块8080,用于接收服务器端根据第三网络请求、令牌信息以及接口信息反馈的用户信息;
权限确定模块8090,用于根据用户信息确定目标页面的登录权限;
跳转模块8100,用于若登录权限为允许登录,则跳转至目标页面。
该页面跳转装置的具体实施方式与上述页面跳转方法的具体实施例基本相同,在此不再赘述。
本申请实施例还提供了一种电子设备,电子设备包括括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述鉴权方法或者页面跳转方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
请参阅图9,图9示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器910,可以采用通用的CPU(CentralProcessingUnit,中央处理器)、微处理器、应用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器920,可以采用只读存储器(ReadOnlyMemory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(RandomAccessMemory,RAM)等形式实现。存储器920可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器920中,并由处理器910来调用执行本申请实施例的鉴权方法或者页面跳转方法;
输入/输出接口930,用于实现信息输入及输出;
通信接口940,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线950,在设备的各个组件(例如处理器910、存储器920、输入/输出接口930和通信接口940)之间传输信息;
其中处理器910、存储器920、输入/输出接口930和通信接口940通过总线950实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述鉴权方法或者页面跳转方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例提供的鉴权方法、页面跳转方法、鉴权装置、页面跳转装置、电子设备及计算机可读存储介质,其通过接收客户端发送的第一网络请求和会话登录信息,根据第一网络请求对会话登录信息进行登录状态校验,能够较为方便地确定客户端的登录状态,得到登录校验结果,并当登录校验结果为通过时,生成用户编码信息,将用户编码信息发送至客户端,接收客户端发送的第二网络请求、根据用户编码信息反馈的加密数据以及加签数据,通过对数据进行加密、加签能够保证数据传输的安全性,根据第二网络请求对加密数据和加签数据进行数据校验,得到数据校验结果,并当数据校验结果为通过时,生成令牌信息,将令牌信息发送至客户端,接收客户端发送的第三网络请求、令牌信息和根据令牌信息反馈的预设查询接口的接口信息,根据第三网络请求对令牌信息进行令牌校验,得到令牌校验结果,并当令牌校验结果为通过时,根据接口信息调用预设查询接口进行查询处理,得到用户信息,根据接口信息进行接口调用,能够得到符合客户端需求的目标接口,区别于随机选取某个接口进行接口查询,能够提高接口查询的准确性,将用户信息发送至客户端,其中,用户信息用于客户端确定目标页面的登录权限,通过登录态校验、参数校验和令牌校验三重校验,从整体上提高了客户端跳转第三方页面的安全性。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。
Claims (10)
1.鉴权方法,其特征在于,应用于服务器端,所述鉴权方法包括:
接收客户端发送的第一网络请求和会话登录信息;
根据所述第一网络请求对所述会话登录信息进行登录状态校验,得到登录校验结果,并当所述登录校验结果为通过时,生成用户编码信息;
将所述用户编码信息发送至所述客户端;
接收所述客户端发送的第二网络请求、根据所述用户编码信息反馈的加密数据以及加签数据;
根据所述第二网络请求对所述加密数据和所述加签数据进行数据校验,得到数据校验结果,并当所述数据校验结果为通过时,生成令牌信息;
将所述令牌信息发送至所述客户端;
接收所述客户端发送的第三网络请求、所述令牌信息和根据所述令牌信息反馈的预设查询接口的接口信息;
根据所述第三网络请求对所述令牌信息进行令牌校验,得到令牌校验结果,并当所述令牌校验结果为通过时,根据所述接口信息调用所述预设查询接口进行查询处理,得到用户信息;
将所述用户信息发送至所述客户端;其中,所述用户信息用于所述客户端确定目标页面的登录权限。
2.根据权利要求1所述的鉴权方法,其特征在于,所述根据所述第一网络请求对所述会话登录信息进行登录状态校验,得到登录校验结果,包括:
根据所述第一网络请求和预设的加密规则对所述会话登录信息进行加密规则校验;
若所述会话登录信息符合所述加密规则,则比对所述会话登录信息的第一有效期限与预设的第一时间阈值;
若所述第一有效期限小于或者等于所述第一时间阈值,则确定所述登录校验结果为通过。
3.根据权利要求1或者2所述的鉴权方法,其特征在于,在所述将所述用户编码信息发送至所述客户端之后,所述鉴权方法还包括:
将所述用户编码信息存储至预设的数据库;
比对所述用户编码信息的第二有效期限和预设的第二时间阈值;
若所述第二有效期限大于所述第二时间阈值,则从所述数据库中剔除所述用户编码信息。
4.根据权利要求3所述的鉴权方法,其特征在于,所述根据所述第二网络请求对所述加密数据和所述加签数据进行数据校验,得到数据校验结果,包括:
根据所述第二网络请求和预设私钥对加密数据进行解密处理,得到解密数据;
根据预设公钥对加签数据进行验签处理,得到验签数据;
比对所述解密数据和所述数据库中的所述用户编码信息,得到第一比对结果;
比对所述验签数据和预设的参考数据,得到第二比对结果;
若所述第一比对结果为所述解密数据和所述用户编码信息一致,且所述第二比对结果为所述验签数据和所述参考数据一致,则确定所述数据校验结果为通过。
5.页面跳转方法,其特征在于,应用于客户端,所述页面跳转方法包括:
发送第一网络请求和会话登录信息至服务器端;
接收所述服务器端根据所述第一网络请求对所述会话登录信息进行登录状态校验反馈的用户编码信息;其中,所述用户编码信息由所述服务器端在所述会话登录信息进行登录状态校验通过时生成;
对所述用户编码信息进行加密处理,得到加密数据,并对所述加密数据进行加签处理,得到加签数据;
发送第二网络请求、所述加密数据以及所述加签数据至所述服务器端;
接收所述服务器端根据所述第二网络请求对所述加密数据以及所述加签数据进行数据校验反馈的令牌信息;其中,所述令牌信息由所述服务器端在所述加密数据以及所述加签数据进行数据校验通过时生成;
根据所述令牌信息获取预设查询接口的接口信息;
发送第三网络请求、所述令牌信息以及所述接口信息至所述服务器端;
接收所述服务器端根据所述第三网络请求、所述令牌信息以及所述接口信息反馈的用户信息;
根据所述用户信息确定目标页面的登录权限;
若所述登录权限为允许登录,则跳转至所述目标页面。
6.根据权利要求5所述的页面跳转方法,其特征在于,所述对所述用户编码信息进行加密处理,得到加密数据,并对所述加密数据进行加签处理,得到加签数据,包括:
获取所述客户端的身份标识和所述客户端调用预设请求接口的时间戳;
对所述用户编码信息、所述时间戳和所述身份标识进行拼接处理,得到目标字符串;
根据预设公钥对所述目标字符串进行加密处理,得到所述加密数据;
根据预设私钥对所述加密数据进行加签处理,得到所述加签数据。
7.鉴权装置,其特征在于,应用于服务器端,所述鉴权装置包括:
服务器端第一接收模块,用于接收客户端发送的第一网络请求和会话登录信息;
第一校验模块,用于根据所述第一网络请求对所述会话登录信息进行登录状态校验,得到登录校验结果,并当所述登录校验结果为通过时,生成用户编码信息;
服务器端第一发送模块,用于将所述用户编码信息发送至所述客户端;
服务器端第二接收模块,用于接收所述客户端发送的第二网络请求、根据所述用户编码信息反馈的加密数据以及加签数据;
第二校验模块,用于根据所述第二网络请求对所述加密数据和所述加签数据进行数据校验,得到数据校验结果,并当所述数据校验结果为通过时,生成令牌信息;
服务器端第二发送模块,用于将所述令牌信息发送至所述客户端;
服务器端第三接收模块,用于接收所述客户端发送的第三网络请求、所述令牌信息和根据所述令牌信息反馈的预设查询接口的接口信息;
第三校验模块,用于根据所述第三网络请求对所述令牌信息进行令牌校验,得到令牌校验结果,并当所述令牌校验结果为通过时,根据所述接口信息调用所述预设查询接口进行查询处理,得到用户信息;
服务器端第三发送模块,用于将所述用户信息发送至所述客户端;其中,所述用户信息用于所述客户端确定目标页面的登录权限。
8.页面跳转装置,其特征在于,应用于客户端,所述页面跳转装置包括:
客户端第一发送模块,用于发送第一网络请求和会话登录信息至服务器端;
客户端第一接收模块,用于接收所述服务器端根据所述第一网络请求对所述会话登录信息进行登录状态校验反馈的用户编码信息;其中,所述用户编码信息由所述服务器端在所述会话登录信息进行登录状态校验通过时生成;
加密加签模块,用于对所述用户编码信息进行加密处理,得到加密数据,并对所述加密数据进行加签处理,得到加签数据;
客户端第二发送模块,用于发送第二网络请求、所述加密数据以及所述加签数据至所述服务器端;
客户端第二接收模块,用于接收所述服务器端根据所述第二网络请求对所述加密数据以及所述加签数据进行数据校验反馈的令牌信息;其中,所述令牌信息由所述服务器端在所述加密数据以及所述加签数据进行数据校验通过时生成;
获取模块,用于根据所述令牌信息获取预设查询接口的接口信息;
客户端第三发送模块,用于发送第三网络请求、所述令牌信息以及所述接口信息至所述服务器端;
客户端第三接收模块,用于接收所述服务器端根据所述第三网络请求、所述令牌信息以及所述接口信息反馈的用户信息;
权限确定模块,用于根据所述用户信息确定目标页面的登录权限;
跳转模块,用于若所述登录权限为允许登录,则跳转至所述目标页面。
9.电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现:
如权利要求1至4任一项所述的鉴权方法;
或者,
如权利要求5至6任一项所述的页面跳转方法。
10.计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现:
如权利要求1至4任一项所述的鉴权方法;
或者,
如权利要求5至6任一项所述的页面跳转方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211150221.8A CN115567271B (zh) | 2022-09-21 | 2022-09-21 | 鉴权方法和装置、页面跳转方法和装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211150221.8A CN115567271B (zh) | 2022-09-21 | 2022-09-21 | 鉴权方法和装置、页面跳转方法和装置、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115567271A CN115567271A (zh) | 2023-01-03 |
CN115567271B true CN115567271B (zh) | 2024-04-19 |
Family
ID=84740382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211150221.8A Active CN115567271B (zh) | 2022-09-21 | 2022-09-21 | 鉴权方法和装置、页面跳转方法和装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115567271B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117411729B (zh) * | 2023-12-14 | 2024-05-10 | 深圳竹云科技股份有限公司 | oracle数据库登录方法、装置、计算机设备、介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113014576A (zh) * | 2021-02-23 | 2021-06-22 | 中国联合网络通信集团有限公司 | 一种服务权限控制方法、装置、服务器及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060282678A1 (en) * | 2005-06-09 | 2006-12-14 | Axalto Sa | System and method for using a secure storage device to provide login credentials to a remote service over a network |
-
2022
- 2022-09-21 CN CN202211150221.8A patent/CN115567271B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113014576A (zh) * | 2021-02-23 | 2021-06-22 | 中国联合网络通信集团有限公司 | 一种服务权限控制方法、装置、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115567271A (zh) | 2023-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110493197B (zh) | 一种登录处理方法及相关设备 | |
CN110691087B (zh) | 一种访问控制方法、装置、服务器及存储介质 | |
CN100581103C (zh) | 安全地处理被用于基于web的资源访问的客户证书 | |
CN108259502B (zh) | 用于获取接口访问权限的鉴定方法、服务端及存储介质 | |
CN109040070B (zh) | 文件发送方法、设备及计算机可读存储介质 | |
CN111355726B (zh) | 一种身份授权登录方法、装置及电子设备和存储介质 | |
CN107911222B (zh) | 数字签名生成、验证方法及其设备和存储介质 | |
CN111770057B (zh) | 身份验证系统及身份验证方法 | |
KR101744747B1 (ko) | 휴대 단말기, 단말기 및 보안쿠키를 이용한 인증 방법 | |
US20100077467A1 (en) | Authentication service for seamless application operation | |
CN108075888B (zh) | 动态url生成方法及装置、存储介质、电子设备 | |
CN113297560A (zh) | 基于区块链的身份认证方法、装置、设备及可读存储介质 | |
CN110071937B (zh) | 基于区块链的登录方法、系统及存储介质 | |
CN111031037A (zh) | 用于对象存储服务的鉴权方法、装置及电子设备 | |
CN115567271B (zh) | 鉴权方法和装置、页面跳转方法和装置、电子设备及介质 | |
CN111460410A (zh) | 服务器登录方法、装置、系统与计算机可读存储介质 | |
CN113360868A (zh) | 应用程序登录方法、装置、计算机设备和存储介质 | |
CN113961893A (zh) | 基于区块链的用户登录方法、装置、电子设备及存储介质 | |
CN115333803A (zh) | 用户密码加密处理方法、装置、设备及存储介质 | |
CN109729045B (zh) | 单点登录方法、系统、服务器以及存储介质 | |
CN106888200B (zh) | 标识关联方法、信息发送方法及装置 | |
CN110034922B (zh) | 请求处理方法、处理装置以及请求验证方法、验证装置 | |
US20100250607A1 (en) | Personal information management apparatus and personal information management method | |
CN108965335B (zh) | 防止恶意访问登录接口的方法、电子设备及计算机介质 | |
CN112560003A (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 |