CN114598490B - 基于api网关重定向页面的方法、装置、设备及存储介质 - Google Patents
基于api网关重定向页面的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114598490B CN114598490B CN202110383186.3A CN202110383186A CN114598490B CN 114598490 B CN114598490 B CN 114598490B CN 202110383186 A CN202110383186 A CN 202110383186A CN 114598490 B CN114598490 B CN 114598490B
- Authority
- CN
- China
- Prior art keywords
- page
- authentication
- client
- ticket
- request
- 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 81
- 238000004590 computer program Methods 0.000 claims description 32
- 230000004044 response Effects 0.000 claims description 19
- 230000007246 mechanism Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 18
- 238000012795 verification Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 239000003999 initiator Substances 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010200 validation analysis 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
- 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
- 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/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
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)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供了一种基于API网关重定向页面的方法、装置、设备及存储介质,涉及网络安全和开放服务领域。该方法由API网关执行,包括:响应于客户端发送的第一请求,对客户端进行身份认证;响应于客户端在身份认证通过之后发送的第二请求,获取并处理页面对应的第一门票,以进行第一次门票认证和第二次门票认证;响应于客户端发送的第三请求,进行第一次门票认证,并在第一次门票认证通过之后进行页面认证,以及在页面认证通过之后向客户端发送重定向指令;响应于页面对应的网关基于重定向指令发送的第四请求,进行第二次门票认证以确定是否重定向页面。通过API网关进行统一管理和认证,解决了针对客户端访问页面时缺乏有效的管理机制问题。
Description
技术领域
本申请涉及网络安全和开放服务领域,具体而言,本申请涉及一种基于API网关重定向页面的方法、装置、电子设备及计算机可读存储介质。
背景技术
目前,除通过开放API接口来实现开放接口服务之外,还可以通过其他形式实现开放服务。例如,将多个业务操作封装为单页应用,并以页面的形式开放,客户端按照规范嵌入页面的URL,即可在多个场景中实现对页面的访问,从而实现开放页面服务。
通过嵌入页面的URL的形式来开放页面服务,以供客户端使用,而提供页面服务方又无法对客户端使用页面服务的过程进行管理。具体地,当客户端发起页面访问时,客户端的身份是否合乎规定,该客户端是否可以访问该页面,访问页面时又该如何规范客户端的访问操作等。即,目前对于客户端访问页面时存在的问题,尚缺乏有效的管理机制来应对。
发明内容
本申请提供了一种基于API网关重定向页面的方法、装置、电子设备及计算机可读存储介质,可以解决客户端访问的页面时,缺乏有效的管理机制的问题。所述技术方案如下:
根据本申请的第一方面,提供了一种基于API网关重定向页面的方法,应用于API网关,该方法包括:
响应于客户端发送的第一请求,对客户端进行身份认证;
响应于客户端在身份认证通过之后发送的第二请求,获取并处理页面对应的第一门票,以进行第一次门票认证和第二次门票认证;
响应于客户端发送的第三请求,进行第一次门票认证,并在第一次门票认证通过之后进行页面认证,以及在页面认证通过之后向客户端发送重定向指令;
响应于页面对应的网关基于重定向指令发送的第四请求,进行第二次门票认证以确定是否重定向页面。
根据本申请的第二方面,提供了另一种基于API网关重定向页面的方法,应用于权限服务器,该方法包括:
响应于API网关发送的携带客户端对应的账号和密码的身份认证请求,根据账号和密码对客户端进行身份认证,并向API网关反馈身份认证结果。
根据本申请的第三方面,提供了又一种基于API网关重定向页面的方法,应用于页面对应的网关,该方法包括:
响应于客户端在接收到重定向指令后发送的重定向认证请求,向API网关发送携带第三门票和真实网址的第四请求,其中,第四请求用于指示API网关根据第三门票进行第二次门票认证以确定是否重定向页面至真实网址对应的页面。
根据本申请的第四方面,提供了一种API网关装置,该装置包括:收发模块,处理模块,第一认证模块,第二认证模块,第三认证模块,其中,
所述收发模块,用于接收客户端发送的第一请求;
所述第一认证模块,用于响应于所述第一请求,对所述客户端进行身份认证;
所述收发模块,还用于接收所述客户端在身份认证通过之后发送的第二请求;
所述处理模块,用于响应于所述第二请求,获取并处理页面对应的第一门票,以进行第一次门票认证和第二次门票认证;
所述收发模块,还用于接收所述客户端发送的第三请求;
所述第二认证模块,用于响应于所述第三请求,进行第一次门票认证;
所述第三认证模块,用于在第一次门票认证通过之后进行页面认证;
所述收发模块,还用于在页面认证通过之后向所述客户端发送重定向指令;
所述收发模块,还用于接收所述页面对应的网关基于所述重定向指令发送的第四请求;
所述第二认证模块,还用于响应于所述第四请求,进行第二次门票认证以确定是否重定向所述页面。
根据本申请的第五方面,提供了一种权限装置,该装置包括:
收发模块,用于接收API网关发送的携带客户端对应的账号和密码的身份认证请求;
认证模块,用于响应于身份认证请求,根据账号和密码对客户端进行身份认证;
收发模块,还用于向API网关反馈身份认证结果。
根据本申请的第六方面,提供了另一种API网关装置,该装置包括:
收发模块,用于接收客户端在接收到重定向指令后发送的重定向认证请求,以及响应于重定向认证请求,向API网关发送携带第三门票和真实网址的第四请求,其中,第四请求用于指示API网关根据第三门票进行第二次门票认证以确定是否重定向页面至真实网址对应的页面。
根据本申请的第七方面,提供了一种电子设备,该电子设备包括:存储器,收发器,处理器,其中,
所述存储器,用于存储计算机程序;
所述收发器,用于在所述处理器的控制下接收客户端发送的第一请求;
所述处理器,用于读取所述存储器中的计算机程序并执行以下操作:响应于所述第一请求,对所述客户端进行身份认证;
所述收发器,还用于在所述处理器的控制下接收所述客户端在身份认证通过之后发送的第二请求;
所述处理器,还用于读取所述存储器中的计算机程序并执行以下操作:响应于所述第二请求,获取并处理页面对应的第一门票,以进行第一次门票认证和第二次门票认证;
所述收发器,还用于在所述处理器的控制下接收所述客户端发送的第三请求;
所述处理器,还用于读取所述存储器中的计算机程序并执行以下操作:响应于所述第三请求,进行第一次门票认证,并在第一次门票认证通过之后进行页面认证,以及在页面认证通过之后,所述收发器,还用于在所述处理器的控制下向所述客户端发送重定向指令;
所述收发器,还用于在所述处理器的控制下接收所述页面对应的网关基于所述重定向指令发送的第四请求;
所述处理器,还用于读取所述存储器中的计算机程序并执行以下操作:响应于所述第四请求,进行第二次门票认证以确定是否重定向所述页面。
根据本申请的第八方面,提供了另一种电子设备,该电子设备包括:存储器,收发器,处理器,其中,
存储器,用于存储计算机程序;
收发器,用于在处理器的控制下接收API网关发送的携带客户端对应的账号和密码的身份认证请求;
处理器,还用于读取存储器中的计算机程序并执行以下操作:响应于身份认证请求,根据账号和密码对客户端进行身份认证;
收发器,还用于在处理器的控制下向API网关反馈身份认证结果。
根据本申请的第九方面,提供了又一种电子设备,该电子设备包括:存储器,收发器,处理器,其中,
存储器,用于存储计算机程序;
收发器,用于在处理器的控制下接收客户端在接收到重定向指令后发送的重定向认证请求,以及响应于重定向认证请求,向API网关发送携带第三门票和真实网址的第四请求,其中,第四请求用于指示API网关根据第三门票进行第二次门票认证以确定是否重定向页面至真实网址对应的页面。
根据本申请的第十方面,提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请第一方面所示的基于API网关重定向页面的方法。
根据本申请的第十一方面,提供了另一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请第二方面所示的基于API网关重定向页面的方法。
根据本申请的第十二方面,提供了又一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请第三方面所示的基于API网关重定向页面的方法。
本申请提供的技术方案带来的有益效果是:
本申请提供了一种基于API网关重定向页面的方法,由API网关执行,包括:通过对客户端实施身份认证操作,实现了在API网关对页面访问入口的控制;应客户端发送的第一请求创建第一门票,以及分别应客户端发送的第三请求和页面对应的网关发送的第四请求,在API网关根据第一门票进行两次门票认证,并在第二次门票认证通过之后,确定是否重定向页面,从而实现通过API网关实现统一管理和认证。通过API网关进行统一管理和认证,解决了针对客户端访问页面时缺乏有效的管理机制的问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍:
图1为本申请实施例提供的一种基于API网关重定向页面的方法的流程示意图;
图2为本申请实施例提供的另一种基于API网关重定向页面的方法的流程示意图;
图3为本申请实施例提供的又一种基于API网关重定向页面的方法的流程示意图;
图4a为本申请实施例提供的一个基于API网关重定向页面方法的应用场景示意图;
图4b为本申请实施例提供的另一个基于API网关重定向页面方法的应用场景示意图;
图5为本申请实施例提供的一种API网关装置的结构示意图;
图6为本申请实施例提供的一种权限装置的结构示意图;
图7为本申请实施例提供的另一种API网关装置的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请涉及的几个名词进行介绍和解释:
(1)有账号模式和无账号模式
客户端访问页面,通常有两种方式,一种是携带了账号,即账号不为空;另一种是不携带账号,即账号为空,本领域中将该账号为空的方式称为游客访问方式。
(2)交互凭证。
在本领域中,交互凭证通常包括token凭证和session凭证。具体应用如下,交互的双方包括发起方和接收方,发起方第一次向接收方发起请求,接收方根据发起请求生成交互凭证,缓存并反馈给发起方;发起方接收到该凭证后,缓存;后续,每一次发起方向接收方发起新的请求时,需携带该缓存的凭证,接收方再次接收新的请求时,根据新的请求中凭证,以及本地缓存的凭证,进行验证;当确认两者相等时,则处理新的请求,当确认两者不相等时,则确定发起方所持有的凭证可能失效,也可能无效,并确定不处理新的请求。
(3)API网关
本申请实施中涉及到的API网关,包括主体服务、权限服务和配置中心。
其中,配置中心可以配置页面权限配置清单,接口权限配置清单等。配置中心还配置主体服务的功能,以及配置权限服务的功能。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例中提供了一种基于API网关重定向页面的方法,应用于API网关,如图1所示,该方法包括:
S101,响应于客户端发送的第一请求,对客户端进行身份认证;
S102,响应于客户端在身份认证通过之后发送的第二请求,获取并处理页面对应的第一门票,以进行第一次门票认证和第二次门票认证;
S103,响应于客户端发送的第三请求,进行第一次门票认证,并在第一次门票认证通过之后进行页面认证,以及在页面认证通过之后向客户端发送重定向指令;
S104,响应于页面对应的网关基于重定向指令发送的第四请求,进行第二次门票认证以确定是否重定向页面。
其中,客户端要访问的页面,或者说重定向之后的页面,可以是目标页面。然而,客户端上显示的当前页面并不是目标页面,需要通过重定向操作,从当前页面跳转到目标页面,使得客户端上显示的页面为目标页面。当前页面,可以包括账号和密码输入框,以便于用户输入账号和密码;或者,当前页面可以为提示页,以提示输入账号和密码;或者,当前页面中并无账号和密码的输入提示信息,账号和密码可自动从客户端的缓存区获取。本申请实施例并不限制当前页面显示的内容。本领域技术人员在具体实施本申请实施例提供的方案时,可以自行调整当前页面。
本申请提供了一种基于API网关重定向页面的方法,由API网关执行,包括:通过对客户端实施身份认证操作,实现了在API网关对页面访问入口的控制;应客户端发送的第一请求创建第一门票,以及分别应客户端发送的第三请求和页面对应的网关发送的第四请求,在API网关根据第一门票进行两次门票认证,并在第二次门票认证通过之后,确定是否重定向页面,从而实现通过API网关实现统一管理和认证。通过API网关进行统一管理和认证,解决了针对客户端访问页面时缺乏有效的管理机制的问题。
本申请实施例中提供了一种可能的实现方式,第一请求中携带客户端对应的账号、密码以页面的页面信息,则对客户端进行身份认证,具体包括Sa1(图中未标出)和Sb1(图中未标出),其中:
Sa1,当账号不为空时,根据账号和密码对客户端进行身份认证;
其中,客户端以有用户身份的方式请求访问页面时,则发送的第一请求中携带的账号不为空。
或者;
Sb1,当账号为空时,根据页面信息对客户端进行身份认证。
其中,客户端是以游客的方式请求访问页面时,则发送的第一请求中携带的账号为空。
需要说明的是,页面信息用于记录客户端所访问页面的相关内容。页面信息可以包括页面的编码,即页面编码;还可以包括页面所属的页面板块的编码,即页面对应的页面板块编码;还可以包括,页面板块所属的页面应用的编码,即页面对应的页面应用编码。本申请实施例中的页面信息,均包括上述信息,为描述简便,将不再赘述。
需要说明的是,账号,可以包括主账号和副账号,即由多个账号组成;账号,还可以包括单独一个账号,即由一个账号组成。本申请实施例所提供的方案,涉及到的账号,仅用于举例以说明本申请实施例,并非用以限制本申请的方案。本领域技术人员可以根据实际情况自行调整。
在该实施例中,Sa1具体包括:
向权限服务器发送携带账号和密码的身份认证请求,并接收权限服务器反馈的身份认证结果;
其中,身份认证请求用于指示权限服务器根据账号和密码对客户端进行身份认证。
在权限服务器根据账号和密码对客户端进行身份认证后,向客户端发送身份认证结果。
其中,权限服务器可以是服务器,包括第一服务器和第二服务器;第一服务器将根据账号和密码对客户端进行身份认证,并在认证通过之后,根据账号和密码创建并缓存会话凭证。该身份认证结果还包括该会话凭证。
当接收到权限服务器反馈的身份认证结果为身份认证通过消息时,向客户端发送根据账号和密码确定的令牌和身份认证通过消息。
其中,API网关可以根据账号、密码、应用编码创建并缓存令牌。API网关向客户端发送身份认证通过消息,该消息中包括令牌和会话凭证
应该理解的是,令牌是客户端和API网关之间的交互凭证。API网关向客户端发送令牌之后,客户端接收并缓存该令牌。客户端每次向API网关发起请求时,需要携带所缓存的令牌;API网关接收到请求后,将根据请求中所携带的令牌和所缓存的令牌对进行验证;在验证通过之后,API网关才处理客户端发起的请求。本申请实施例中,除第一请求之外,客户端向API网关发起其他请求时,应携带客户端缓存的令牌,为描述简便,关于令牌的验证过程,将不再赘述。
应该理解的是,会话凭证是权限服务器和客户端之间交互的凭证。API网关向客户端发送会话凭证之后,客户端接收并缓存该会话凭证。客户端通过API网关与权限服务器产生交互时,即客户端向API网关发起请求,API网关根据该请求又向权限服务器发起请求时,那么客户端所发起的请求中需要携带该会话凭证,以及API网关所发起的请求应携带该会话凭证。权限服务器将根据请求中携带的会话凭证和所缓存的会话凭证对客户端进行身份认证,在认证通过之后,权限服务器才处理处理API网关发起的请求。在本申请实施例中,客户端向API网关发起请求时需携带该会话凭证,以及API网关向权限服务器发起其他请求时,需携带由客户端发送过来的会话凭证。为了描述简便,本申请实施例中该其他请求所携带的会话凭证及其验证的逻辑,将不再赘述。
在该实施例中,Sb1具体包括:
当页面信息不为空时,确定身份认证通过;
其中,当页面信息中包括的应用编码不为空时,确定客户端是以游客的身份访问页面,即认证客户端为游客身份。
向客户端发送根据页面信息确定的令牌,以及身份认证通过消息。
其中,页面信息中包括页面对应的应用编码,在确定页面信息中的应用编码不为空之后,获取API网关缓存的密钥,可以根据密钥和应用编码创建并缓存令牌。
本申请实施例提供了一种基于API网关的重定向页面的方法,针对不同的场景设置不同的认证。当客户端以有账号方式访问页面时,由于客户端对应的账号模型的多样化超过了网关的处理能力,因此将身份认证业务转发给存储着多种账号模型的权限服务器去处理并接收权限服务器的处理结果,既实现对客户端身份的统一认证又减轻了网关的负担;当客户端以游客身份访问页面时,在API网关通过页面信息进行认证,确认是游客身份即可。该方法实现了适配多样化复杂场景的认证需求。
本申请实施例中提供了另一种可能的实现方式,第二请求中携带客户端对应的令牌、页面的页面信息以及客户端对应的账号,则响应于客户端在身份认证通过之后发送的第二请求,获取并处理页面对应的第一门票,包括Sa2(图中未标出)和Sb2(图中未标出):
Sa2,当账号不为空时,根据客户端对应的令牌、页面信息和账号获取和缓存第一门票,以及向客户端颁发第一门票;
其中,API网关可以根据令牌、页面信息中包括的应用编码,以及账号,创建第一门票。
或者;
Sb2,当账号为空时,根据客户端对应的令牌和页面信息获取和缓存第一门票,以及向客户端颁发第一门票。
其中,API网关可以根据令牌、页面信息中包括的应用编码,创建第一门票。
在第一门票被创建成功之后,API缓存该第一门票,并用于进行第一次门票认证和第二次门票认证,第一门票认证和第二门票认证依次进行;
在第二次门票认证完成之后,从缓存区移除该第一门票。
其中,在第二次门票认证完成之后,第一门票的生命周期结束。第一门票的生命周期,存在于从创建开始到客户端所访问的页面重将定向到新页面之前,若第一门票在页面打开之后继续存在,则客户端可能再次携带缓存的门票去请求访问页面,API网关基于该门票进行验证,并通过之后,客户端又再次打开该页面,导致无法对客户端访问目标页面的行为进行限制;移除第一门票,可以限制客户端访问目标页面的行为。
本申请实施例提供了一种基于API网关重定向页面的方法,创建并缓存第一门票,以在客户端携带门票请求访问目标页面时,API网关根据第一门票和客户端携带的门票依次进行第一次门票认证和第二次门票认证。因此,第一门票是实现通过API网关统一认证管理客户端访问目标页面的关键。在第二次门票认证结束之后,移除第一门票,进一步完善统一认证和管理的操作。
本申请实施例中还提供了另一种可能的实现方式,第三请求中携带第二门票和页面编码,则响应于客户端发送的第三请求,进行第一次门票认证,并在第一次门票认证通过之后进行页面认证,包括:
根据第一门票和第二门票,进行第一次门票认证;
当第一次门票认证通过时,获取页面权限配置清单;
根据页面权限配置清单和页面编码,进行页面认证。
在该实施例中,第一次门票认证,具体包括:
API网关获取缓存的第一门票,判断第一门票和第二门票是否相等,根据判断结果,确定第一门票认证结果。
当第一门票和第二门票相等时,确定第一门票认证通过。
当第一门票和第二门票不相等时,可以确定该第二门票已经过期,或者持有该第二门票的客户端无权限访问页面。
在该实施例中,当页面权限配置清单中包含页面编码时,确定页面认证通过。
在该实施例中,第三请求中还携带客户端对应的账号,则当第一次门票认证通过时,获取页面权限配置清单,包括Sa3(图中未标出)和Sb3(图中未标出),具体地:
Sa3,当账号不为空时,API网关根据账号从缓存区获取页面权限配置清单;
当在缓存区未查找到页面权限配置清单时,向权限服务器发送携带账号的页面权限配置请求,其中,页面权限配置请求用于请求获取与账号对应的页面权限配置清单;
接收并缓存权限服务器反馈的页面权限配置清单。
Sb3,当账号为空时,在API网关确认了客户端的游客身份之后,则从缓存区获取对应的页面权限配置清单。
其中,在API网关的缓存区,已经预先配置了至少一份页面权限配置清单,该清单主要用于验证以游客方式访问页面的客户端的访问请求。
其中,页面权限配置清单中,包括页面的页面编码和真实地址之间的对应关系。
在该实施例中,页面认证通过之后向客户端发送重定向指令,具体包括:
获取页面权限配置清单中与页面编码对应的真实网址;
向客户端发送重定向指令,其中,重定向指令中携带真实网址,用于指示重定向页面至真实网址对应的页面。
其中,根据第三请求中携带的页面编码,从页面权限配置清单中查找与该页面编码相对应的真实地址。具体地,可以先确定页面权限配置清单中是否存在该页面编码:
若存在,根据该页面编码获取页面编码对应的真实网址;
若不存在,无法获取页面编码对应的权限清单,可以确定持有第二门票的客户端无权访问该页面。
其中,重定向指令包括暂时重定向指令,用于指示将当前页面暂时重定向到真实网址对应的页面。
本申请实施例中还提供了另一种可能的实现方式,第四请求携带第三门票和真实网址,则响应于页面对应的网关基于重定向指令发送的第四请求,进行第二次门票认证以确定是否重定向页面,包括:
根据第一门票和第三门票进行第二次门票认证;
当第二次门票认证通过时,确定将页面重定向至真实网址对应的页面。
其中,API网关向客户端发送重定向指令之后,客户端可以根据该重定向指令,向页面对应的网关发送重定向认证请求,该请求中携带真实网址和第三门票;页面对应的网关接收到重定向认证请求之后,可以向API网关发送第四请求,并携带第三门票和真实网址。
在该实施例中,第二次门票认证,具体包括:
API网关获取缓存的第一门票,判断第一门票和第三门票是否相等,根据判断结果,确定第二门票认证结果。
当第一门票和第三门票相等时,确定第二门票认证通过。
当第一门票和第三门票不相等时,可以确定该第三门票已经过期,或者持有该第三门票的客户端无权限访问页面。
在该实施例中,当第二次门票认证通过时,确定将页面重定向至真实网址对应的页面,包括:
API网关向页面对应的网关反馈第二次门票认证通过消息;页面对应的网关在接收到该消息后,向客户端反馈第二次门票认证通过消息;客户端在接收到该消息之后,触发重定向操作,将当前页面重定向到真实网址对应的页面。
本申请实施例中还提供了另一种可能的实现方式,当前页面为真实网址对应的页面时,客户端通过页面发起第五请求时,还包括:
响应于客户端发送的携带接口信息的第五请求,获取接口权限配置清单;
其中,第五请求中携带页面信息,页面信息中包括页面编码;第五请求中还携带客户端对应的账号;
其中,一个接口权限配置清单可以对应一个页面应用下每个接口对应的接口编码,也可以对应页面应用中某一个页面板块下的每个接口对应的接口编码,还可以对应页面板块中某一个页面中的每个接口对应的接口编码;接口权限配置清单中,至少要包括至少一个接口对应的接口编码,以及该接口所在的页面对应的页面编码,以及该页面所在页面板块所对应的页面板块编码,以及该页面板块所在应用所对应的页面应用编码。
根据接口权限配置清单和接口信息,进行接口认证;
其中,当接口权限配置清单中包含接口编码时,确定接口认证通过。
当接口认证通过时,向接口服务器发送携带接口信息的第六请求,其中,第六请求用于指示接口服务器根据接口信息向客户端提供接口服务。
在该实施例中,接口信息包括页面编码,则获取接口权限配置清单,包括Sa4(图中未标出)和Sb4(图中未标出):
Sa4,当账号不为空时,根据账号和页面编码从API的缓存区中获取与页面编码对应的接口权限配置清单;
当在缓存区未查找到与页面编码对应的接口权限配置清单时,向权限服务器发送携带页面编码的接口权限配置请求;
其中,接口权限配置请求用于请求获取与页面编码对应的接口权限配置清单,并携带客户端对应的账号和页面编码;客户端对应的账号可以从第五请求中获取。
接收并缓存权限服务器反馈的接口权限配置清单。
其中,权限服务器根据账号和页面编码查询到页面对应的接口权限配置清单。
Sb4,当账号为空时,从API缓存区中获取与页面编码对应的接口权限配置清单。
其中,在API网关的缓存区,已经预先配置了至少一份接口权限配置清单,该清单主要用于验证以游客方式访问页面的客户端的访问请求。
本申请实施例中提供了另一种基于API网关重定向页面的方法,应用于权限服务器,如图2所示,该方法包括:
S201,接收API网关发送的携带客户端对应的账号和密码的身份认证请求;
其中,权限服务器包括第一服务器和第二服务器;第一服务器,用于接收并处理API网关发送的身份认证请求;
其中,权限服务器与客户端是相互对应的关系;客户端访问页面所携带的账号,平时均存储在权限服务器的第一服务器上;权限服务器可以配置账号的功能权限,包括是否可以访问页面应用的权限;
其中,身份认证请求中还携带页面信息;
其中,账号可以包括主账号和副账号;
S202,根据账号和密码对客户端进行身份认证;
其中,第一服务器先对账号和密码进行验证,其结果至少包括:
当验证账号和密码正确,并且账号没有被锁定时,第一服务器根据账号所配置的权限,验证账号是否有可以访问页面的权限;
当验证账号和密码正确时,但是账号被锁定,确认身份认证不通过;
当验证错误时,则确认该有账号或者密码错误,确认身份认证不通过;
S203,向API网关反馈身份认证结果,该身份认证结果包括:
当验证账号可以访问页面对应的页面应用时,则确认身份认证通过;
当验证账号不可以访问页面对应的页面应用时,则确认身份认证不成功。
本申请实施例中提供了一种可能的实现方式,该方法还包括:
响应于API网关发送的携带客户端对应的账号的页面权限配置请求,根据账号获取与账号对应的页面权限配置清单并向API网关反馈页面权限配置清单;
其中,权限服务器的第二服务器处理页面权限配置请求;第二服务器根据账号查询账号所对应的页面权限配置清单,并反馈给API网关;
或者,
响应于API网关发送的携带包括页面编码的接口信息的接口权限配置请求,根据页面编码获取与页面编码对应的接口权限配置清单并向API网关反馈接口权限配置清单。
其中,权限服务器的第二服务器处理接口权限配置请求;第二服务器根据账号查询账号所对应的页面权限配置清单,并反馈给API网关。
本申请实施例中提供了又一种基于API网关重定向页面的方法,如图3所示,该方法包括:
S301,接收客户端在接收到重定向指令后发送的重定向认证请求;
其中,该重定向认证请求中携带页面信息、第三门票和真实网址。
S302,向API网关发送携带第三门票和真实网址的第四请求,该第四请求用于指示API网关根据第三门票进行第二次门票认证以确定是否重定向页面至真实网址对应的页面。
上文中结合附图1-3分别从API网关、权限服务器和页面对应的网关的角度描述了本申请实施例所提供的基于API网关重定向页面的方法。下面结合附图4a和4b,对本申请实施例提供的基于API网关重定向页面的方法的具体应用场景的实施例进行详细的描述。其中,附图4a为重定向页面的过程,包括S1001-S1026;附图4b为处理接口服务的过程,包括S2001-S2012。具体地:
1、重定向页面过程,具体包括:
S1001、由客户端发起访问请求。
其中,访问请求中携带页面信息,以及账号和密码。该页面信息具体包括页面对应的页面应用的编码APPCODE,页面所在的页面板块的编码APICODE,页面的页面编码PageCode;账号具体包括主账号SysOpId和副账号OpId。
下述步骤中涉及到的页面信息和账号,其具体内容将不再赘述。
S1002、API网关验证账号。
其中,API网关接收到访问请求之后,启动权限服务,通过权限服务验证账号,具体地:
若账号信息不为空,从S1003开始执行;
若账号信息为空,继续判断APPCODE是否为空;当账号信息为空且APPCODE不为空,说明客户端是以游客方式访问页面。该客户端可以访问页面应用中的指定页面,该指定页面预存于API网关中,也可以访问API网关统一预存的页面。当APPCODE为空,确认客户端的身份失败,API网关向客户端反馈身份认证不通过信息。
根据APPCODE生成与该客户端相对应的令牌token(客户端和API网关的交互凭证);
API网关中内置密钥时,也可以根据APPCODE和内置的密钥生成令牌。
将token和身份认证通过的消息反馈给客户端。
S1003、API网关向权限服务器发送身份认证请求。
当账号信息不为空时,说明客户端是以有账号形式访问页面,则需向权限服务器发送携带账号和密码的身份认证请求。
S1004、权限服务器进行身份认证。
其中,权限服务器包括第一服务器和第二服务器,并通过第一服务器接收身份认证请求,并处理身份认证业务。具体地,第一服务器先对账号和密码进行验证,验证结果包括:当账号和密码正确,并且账号没有被锁定时,进一步地,第一服务器根据账号所配置的权限,验证账号是否有可以访问页面的权限,当验证账号有权限访问页面时,则身份认证通过;当账号和密码正确,但账号被锁定了,则身份认证不通过;当账号和密码错误,确认身份认证不通过。
其中,在身份认证通过之后,基于账号获取该账号所属部门的部门编号OrgId;基于账号和密码,生成SessId会话(SessionId,客户端和权限服务器的会话凭证)。
S1005、第一服务器向API网关反馈身份认证通过消息。
其中,身份认证结果为身份认证通过时,该身份认证结果中还携带其他信息:SessId、OrgId。
S1006、API网关根据账号和密码生成token令牌。
在接收到身份认证通过消息之后,API网关通过权限服务,根据账号和密码生成token。
S1007、API网关缓存token。
API网关通过权限服务,缓存token。
S1008、API网关向客户端反馈身份认证通过消息。
API网关通过权限服务反馈token和身份认证通过消息;
当API网关接收到第一服务器反馈的身份认证通过消息时,向客户端所反馈的消息中还包括OrgId、SessId。
S1009、客户端接收身份认证通过消息。
客户端根据身份认证通过消息,缓存token;
当消息中包括OrgId、SessId时,同样需将其缓存;
其中,缓存token的作用:后续,客户端再向API网关发送请求时,需携带该token,API网关通过缓存的token和请求中携带的token验证请求的合法性;在验证成功之后,API网关才开始处理请求。
其中,缓存SessId的作用:后续,客户端通过API网关和权限服务器交互时,即客户端向API发送请求,API又需要向权限服务器发送请求才能处理客户端发起的请求,则客户端所发起的请求中需携带SessId,以及API网关发起的请求中也需携带该SessId;权限服务器根据SessId验证API网关所发送请求的合法性,在验证成功之后,权限服务器才开始处理API网关所发的请求。
下述步骤中,如有涉及到客户端向API网关发送请求,都默认带上token和SessId。为描述简便,下述过程中将不再重复描述token或者SessId以及其验证过程。
S1010、客户端向API网关发送门票请求。
该请求中携带token、页面信息和账号。
S1011、API网关创建ticket1(上文中的第一门票)。
API网关接收到客户端发送的门票请求后:
当账号不为空时,通过权限服务根据【token+页面信息+账号】创建并缓存ticket1;
当账号为空时,根据【token+页面信息中包括的应用编码】创建并缓存ticket1;
向客户端颁发ticket1。
API网关缓存ticket1的作用:客户端会在重定向到真实页面之前,通过ticket1依次进行第一次门票认证和第二次门票认证。
在第二次门票认证完成之后,从缓存区移除ticket1。
S1012:客户端接收并缓存ticket1。
S1013、客户端向API网关发送访问真实页面请求。
该请求中携带页面信息、账号,以及从缓存区获取的ticket2(上文中的第二门票);
通常情况下,若客户端的ticket1没有失效,则ticket2是客户端缓存的ticket1。
S1014:API网关接收并验证ticket2的有效性。
API网关通过权限服务接收获取真实页面请求之后,获取缓存的ticket1,根据ticket1和ticket2执行第一次门票认证。
第一次门票认证具体包括:判断ticket1和ticket2是否相等。当ticket1和ticket2相等时,确定第一次门票认证通过。否则,第一次门票认证不通过,ticket2可能已经失效或者错误。
在第一次门票认证通过之后,确认本地是否缓存页面权限配置清单。具体地:当账号不为空时,根据账号从本地获取缓存的页面权限配置清单,若本地并无与账号相对应的页面权限配置清单,则从S1015开始执行;当账号为空,即客户端是以游客身份访问页面的,则从缓存区获取预先配置的页面权限配置清单。
S1015、API网关向权限服务器发送页面权限配置请求。
其中,API网关通过权限服务发送页面权限配置请求,并且该请求中携带账号。
S1016、权限服务器接收并处理页面权限配置请求。
权限服务器接收到页面权限配置请求之后,通过第二服务器根据账号查询页面权限配置清单。
当第二服务器查询到该页面权限配置清单之后,向API网关反馈该清单;
当第二服务器未查询到该页面权限配置清单,则确认该账号暂时没有配置任何页面访问权限,并反馈给API网关,由API网关向客户端反馈该信息。
S1017:API网关接收并缓存页面权限配置清单。
S1018、API网关执行页面认证。
其中,API网关通过判断页面权限配置清单中是否包含PageCode(对应上文中的页面编码),来确认页面认证结果。具体地:当页面权限配置清单中包括PageCode时,则页面认证通过;根据PageCode获取该清单中该PageCode对应的真实网址URL;当页面权限配置清单中不包括PageCode时,则页面认证不通过。
S1019、API网关向客户端反馈重定向指令。
API网关通过权限服务反馈重定向指令。
重定向指令中,包括真实网址URL以及302指令;302指令为暂时重定向指令,以及缓存区缓存的ticket3(上文中的第三门票)。
重定向指令用于指示客户端将当前页面暂时重定向到真实URL对应的页面。
S1020、客户端向页面对应的页面网关发送重定向认证请求。
客户端在接收到重定向指令之后,向页面网关发送重定向认证请求。其中,该重定向认证请求中携带URL、ticket3和账号信息。
S1021、页面网关向API网关发送认证请求。
页面网关接收到客户端发送的重定向认证请求之后,向API网关发送认证请求,并携带URL和ticket3。
S1022、API网关进行第二次门票认证。
API网关在接收到认证请求之后,进行第二次门票认证。其中,认证请求中携带URL和ticket3。API网关通过权限服务获取缓存的ticket1,并根据ticket1和ticket3进行第二次门票认证。
第二次门票认证包括:判断ticket1和ticket3是否相等。
当ticket1和ticket3相等时,则确定第二次门票认证通过,即认证通过。
S1023、API网关将ticket1从缓存区移除。
在第二次门票认证完成之后,将ticket1从缓存区移除。
其中,ticket1的存在就是为了在重定向到真实页面之前,对客户端请求重定向页面进行认证,从而限制客户端多次打开同一页面。
S1024、API网关通过权限服务向页面网关返回认证通过消息。
S1025、页面网关接收到认证通过消息之后哦,向客户端转发认证通过消息。
S1026、客户端执行重定向操作。
其中,客户端重定向当前页面到真实URL对应的页面。
至此,客户端获取到真实的页面,用户可以根据客户端所获取页面进行浏览或者继续使用页面上所提供的接口服务。
2、处理接口服务的过程,具体包括:
S2001、客户端向API网关发送接口服务请求;
其中,接口服务请求中携带页面信息和接口ID;
S2002、API网关启动主体服务和权限服务,接收接口服务请求。
通过主体服务接收接口服务请求,并转发该接口服务请求给权限服务,以对接口服务请求进行接口认证。
API网关根据账号获取接口权限配置清单,当API网关中缓存该接口权限配置清单时,则进入流程S2007;当API网关中没有缓存该接口权限配置清单时,则进入流程S2003。
其中,API网关中已经预存了接口权限配置清单,以应对以游客方式访问页面的客户端发送的接口服务请求。在游客访问的场景中,获取到接口权限配置清单之后,进入流程S2007。
S2003、API网关通过权限服务向认证中心发送接口权限配置请求。
其中,接口权限配置请求中携带页面信息。
S2004-2005、权限服务器的查询接口权限配置清单。
第二服务器在接收到接口权限配置请求之后,根据页面信息中的PageCode查询接口权限配置清单并反馈给API网关。
S2006、API网关接收到接口权限配置清单之后,缓存该清单。
S2007、API网关通过权限服务进行接口认证。
判断该接口权限配置清单中是否包含接口ID。若包含,则接口的认证通过;若不包含,则接口认证不通过。
S2008、API网关的权限服务向API网关的主体服务通知接口认证通过的消息。
S2009、API网关向接口服务器转发接口服务请求。
其中,API网关通过主体服务,向接口服务器转发接口服务请求。
S2010、接口服务器接收并响应接口服务请求。
接口服务器在接收到接口服务请求之后,响应该请求并执行相应的操作,得到数据。
S2011、接口服务器向API网关转发处理的结果。
具体地,接口服务器的向API网关发送接口服务请求所需的数据,并由API网关通过主体服务接收该数据。
S2012、API网关向客户端返回接口所需的数据。
API网关通过主体服务反馈数据。
客户端接收到数据之后,根据该数据执行相应的操作。
至此,客户端基于打开的页面完成了一次接口访问,即使用了一次页面服务。
本申请实施例中还提供了一种API网关装置,如图5所示,该装置50可以包括:收发模块501、处理模块502,第一认证模块503,第二认证模块504,第三认证模块505。其中,
收发模块501,用于接收客户端发送的第一请求;
第一认证模块503,用于响应于第一请求,对客户端进行身份认证;
收发模块501,还用于接收客户端在身份认证通过之后发送的第二请求;
处理模块502,用于响应于第二请求,获取并处理页面对应的第一门票,以进行第一次门票认证和第二次门票认证;
收发模块501,还用于接收客户端发送的第三请求;
第二认证模块504,用于响应于第三请求,进行第一次门票认证;
第三认证模块505,用于在第一次门票认证通过之后进行页面认证;
收发模块501,还用于在页面认证通过之后向客户端发送重定向指令;
收发模块501,还用于接收页面对应的网关基于重定向指令发送的第四请求;
第二认证模块504,还用于响应于第四请求进行第二次门票认证以确定是否重定向页面。
本申请实施例中提供了一种可能的实现方式,第一请求中携带客户端对应的账号、密码以及页面的页面信息,则第一认证模块503在响应于第一请求,对客户端进行身份认证中,具体用于:
当账号不为空时,根据账号和密码对客户端进行身份认证;或者,
当账号为空时,根据页面信息对客户端进行身份认证。
在该实施例中,第一认证模块503在当账号不为空时,根据账号和密码对客户端进行身份认证中,具体用于:
向权限服务器发送携带账号和密码的身份认证请求,并接收权限服务器反馈的身份认证结果,其中,身份认证请求用于指示权限服务器根据账号和密码对客户端进行身份认证。
收发模块501,还用于接收到权限服务器反馈的身份认证结果为身份认证通过消息,以及向客户端发送根据账号和密码确定的令牌和身份认证通过消息。
在该实施例中,第一认证模块503在当账号为空时,根据页面信息对客户端进行身份认证中,具体用于:
当页面信息不为空,确定身份认证通过。
收发模块501,还用于向客户端发送根据页面信息确定的令牌,以及身份认证通过消息。
本申请实施例中提供了一种可能的实现方式,第二请求中携带客户端对应的令牌、页面的页面信息以及客户端对应的账号,则处理模块502在响应于第二请求,获取并处理页面对应的第一门票中,具体用于:
当账号不为空时,根据客户端对应的令牌、页面信息和账号获取和缓存第一门票,以及向客户端颁发第一门票;或者,
当账号为空时,根据客户端对应的令牌和页面信息获取和缓存第一门票,以及向客户端颁发第一门票。
本申请实施例中提供了一种可能的实现方式,第三请求中携带第二门票和页面编码,则第二认证模块504在响应于第三请求,进行第一次门票认证中,具体用于:
根据第一门票和第二门票,进行第一次门票认证;
具体地,判断第一门票和第二门票是否相等,根据判断结果确定第一次门票认证结果;
当第一门票等于第二门票时,确定第一次门票认证通过;
在第一次门票认证通过之后,第三认证模块505在进行页面认证中,具体用于:
获取页面权限配置清单;
根据页面权限配置清单和页面编码,进行页面认证。
其中,当页面权限配置清单中包含页面编码时,确定页面认证通过。
在该实施例中,第三请求中还携带客户端对应的账号,第三认证模块505在获取页面权限配置清单中,具体用于:
当账号不为空时,API网关根据账号从缓存区获取页面权限配置清单;
当账号不为空且在缓存区未查找到与账号对应的页面权限配置清单时,收发模块501,还用于向权限服务器发送携带账号的页面权限配置请求,其中,页面权限配置请求用于请求获取与账号对应的页面权限配置清单;
收发模块501,还用于接收并缓存权限服务器反馈的页面权限配置清单;
当账号为空时,在API网关确认了客户端的游客身份之后,则从缓存区获取对应的页面权限配置清单;
在该实施例中,页面认证通过之后,收发模块501在向客户端发送重定向指令中,具体用于:
获取页面权限配置清单中与页面编码对应的真实网址;
向客户端发送重定向指令,其中,重定向指令中携带真实网址,用于指示重定向页面至真实网址对应的页面。
本申请实施例中提供了一种可能的实现方式,第四请求携带第三门票和真实网址,第二认证模块504,在响应于第四请求进行第二次门票认证以确定是否重定向页面中,具体用于:
根据第一门票和第三门票进行第二次门票认证;
当第二次门票认证通过时,确定将页面重定向至真实网址对应的页面。
在该实施例中,第二认证模块504还用于,在第二次门票认证完成之后,从缓存区移除第一门票。
本申请实施例中提供了一种可能的实现方式,收发模块501还用于接收第五请求;
第三认证模块505还用于响应于第五请求,获取接口权限配置清单,根据接口权限配置清单和接口信息,进行接口认证;
其中,当接口权限配置清单中包含接口编码时,确定接口认证通过;
收发模块501,还用于当接口认证通过时,向接口服务器发送携带接口信息的第六请求,其中,第六请求用于指示接口服务器根据接口信息向客户端提供接口服务。
在该实施例中,接口信息包括页面编码,第三认证模块505在获取接口权限配置清单中,具体用于:
当在缓存区未查找到与页面编码对应的接口权限配置清单时,通过收发模块501向权限服务器发送携带页面编码的接口权限配置请求,其中,接口权限配置请求用于请求获取与页面编码对应的接口权限配置清单;
以及,通过收发模块接收并缓存权限服务器反馈的接口权限配置清单。
本申请实施例提供了一种权限装置,如图6所示,该装置60可以包括:收发模块601,认证模块602。其中,
收发模块601,用于接收API网关发送的携带客户端对应的账号和密码的身份认证请求;
认证模块602,用于响应于身份认证请求,根据账号和密码对客户端进行身份认证;
收发模块601,还用于向API网关反馈身份认证结果。
在该实施例中,该装置还包括查询模块603(图中未标出),用于响应于API网关发送的携带客户端对应的账号的页面权限配置请求,根据账号获取与账号对应的页面权限配置清单,以及通过收发模块601向API网关反馈页面权限配置清单。
或者;
查询模块603,还用于响应于API网关发送的携带包括页面编码的接口信息的接口权限配置请求,根据页面编码获取与页面编码对应的接口权限配置清单,以及通过收发模块601向API网关反馈接口权限配置清单。
本申请实施例又提供了另一种API网关装置,如图7所示,该装置70可以包括:
收发模块701,用于接收客户端在接收到重定向指令后发送的重定向认证请求,以及响应于重定向认证请求,向API网关发送携带第三门票和真实网址的第四请求,其中,第四请求用于指示API网关根据第三门票进行第二次门票认证以确定是否重定向页面至真实网址对应的页面。
本申请实施例中还提供了一种电子设备,该电子设备包括:存储器、处理器和收发器;其中,
存储器,用于存储计算机程序;
收发器,用于在处理器的控制下接收客户端发送的第一请求;
处理器,用于读取存储器中的计算机程序并执行以下操作:响应于第一请求,对客户端进行身份认证;
收发器,还用于在处理器的控制下接收客户端在身份认证通过之后发送的第二请求;
处理器,还用于读取存储器中的计算机程序并执行以下操作:响应于第二请求,获取并处理页面对应的第一门票,以进行第一次门票认证和第二次门票认证;
收发器,还用于在处理器的控制下接收客户端发送的第三请求;
处理器,还用于读取存储器中的计算机程序并执行以下操作:响应于第三请求,进行第一次门票认证,并在第一次门票认证通过之后进行页面认证;
在页面认证通过之后,收发器,还用于在处理器的控制下向客户端发送重定向指令;
收发器,还用于在处理器的控制下接收页面对应的网关基于重定向指令发送的第四请求;
处理器,还用于读取存储器中的计算机程序并执行以下操作:响应于第四请求,进行第二次门票认证以确定是否重定向页面。
本申请实施例中提供了另一种电子设备,该电子设备包括:存储器、处理器和收发器;其中,
存储器,用于存储计算机程序;
收发器,用于在处理器的控制下接收API网关发送的携带客户端对应的账号和密码的身份认证请求;
处理器,还用于读取存储器中的计算机程序并执行以下操作:响应于身份认证请求,根据账号和密码对客户端进行身份认证;
收发器,还用于在处理器的控制下向API网关反馈身份认证结果。
本申请实施例中又提供了另一种电子设备,该电子设备包括:存储器、处理器和收发器;其中,
存储器,用于存储计算机程序;
收发器,用于在处理器的控制下接收客户端在接收到重定向指令后发送的重定向认证请求,以及响应于重定向认证请求,向API网关发送携带第三门票和真实网址的第四请求,其中,第四请求用于指示API网关根据第三门票进行第二次门票认证以确定是否重定向页面至真实网址对应的页面。
本申请实施例中还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,使得计算机可以执行本申请实施例中提供的一种基于API网关重定向页面的方法。
本申请实施例中还提供了另一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,使得计算机可以执行本申请实施例中提供的另一种基于API网关重定向页面的方法。
本申请实施例中还提供了又一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,使得计算机可以执行本申请实施例中提供的又一种基于API网关重定向页面的方法。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (22)
1.一种基于API网关重定向页面的方法,其特征在于,应用于API网关,包括:
响应于客户端发送的第一请求,对所述客户端进行身份认证;
响应于所述客户端在身份认证通过之后发送的第二请求,获取并处理页面对应的第一门票,以进行第一次门票认证和第二次门票认证;
响应于所述客户端发送的第三请求,所述第三请求中携带第二门票和页面编码,根据所述第一门票和所述第二门票,进行第一次门票认证;当第一次门票认证通过时,获取页面权限配置清单;根据所述页面权限配置清单和所述页面编码,进行页面认证,以及在页面认证通过之后向所述客户端发送重定向指令;
响应于所述页面对应的网关基于所述重定向指令发送的第四请求,根据所述第一门票进行第二次门票认证以确定是否重定向所述页面。
2.根据权利要求1所述的方法,其特征在于,所述第一请求中携带所述客户端对应的账号、密码以及所述页面的页面信息,所述响应于客户端发送的第一请求,对所述客户端进行身份认证,包括:
当所述账号不为空时,根据所述账号和所述密码对所述客户端进行身份认证;或者,
当所述账号为空时,根据所述页面信息对所述客户端进行身份认证。
3.根据权利要求2所述的方法,其特征在于,所述当所述账号不为空时,根据所述账号和所述密码对所述客户端进行身份认证,包括:
向权限服务器发送携带所述账号和所述密码的身份认证请求,并接收所述权限服务器反馈的身份认证结果,其中,所述身份认证请求用于指示所述权限服务器根据所述账号和所述密码对所述客户端进行身份认证。
4.根据权利要求3所述的方法,其特征在于,还包括:
当接收到所述权限服务器反馈的身份认证结果为身份认证通过消息时,向所述客户端发送根据所述账号和所述密码确定的令牌和所述身份认证通过消息。
5.根据权利要求2所述的方法,其特征在于,所述当所述账号为空时,根据所述页面信息对所述客户端进行身份认证,包括:
当所述页面信息不为空,确定身份认证通过。
6.根据权利要求5所述的方法,其特征在于,还包括:
向所述客户端发送根据所述页面信息确定的令牌,以及身份认证通过消息。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述第二请求中携带所述客户端对应的令牌、所述页面的页面信息以及所述客户端对应的账号,所述响应于所述客户端在身份认证通过之后发送的第二请求,获取并处理页面对应的第一门票,包括:
当所述账号不为空时,根据所述客户端对应的令牌、所述页面信息和所述账号获取和缓存所述第一门票,以及向所述客户端颁发所述第一门票;或者,
当所述账号为空时,根据所述客户端对应的令牌和所述页面信息获取和缓存所述第一门票,以及向所述客户端颁发所述第一门票。
8.根据权利要求1所述的方法,其特征在于,所述页面认证包括:
当所述页面权限配置清单中包含所述页面编码时,确定页面认证通过。
9.根据权利要求1所述的方法,其特征在于,所述第三请求中还携带所述客户端对应的账号,所述当第一次门票认证通过时,获取页面权限配置清单,包括:
当所述账号不为空且在缓存区未查找到与所述账号对应的页面权限配置清单时,向权限服务器发送携带所述账号的页面权限配置请求,其中,所述页面权限配置请求用于请求获取与所述账号对应的所述页面权限配置清单;
接收并缓存所述权限服务器反馈的所述页面权限配置清单。
10.根据权利要求1所述的方法,其特征在于,所述在页面认证通过之后向所述客户端发送重定向指令,包括:
获取所述页面权限配置清单中与所述页面编码对应的真实网址;
向所述客户端发送重定向指令,其中,所述重定向指令中携带所述真实网址,用于指示重定向所述页面至所述真实网址对应的页面。
11.根据权利要求10所述的方法,其特征在于,所述第四请求携带第三门票和所述真实网址,所述响应于所述页面对应的网关基于所述重定向指令发送的第四请求,进行第二次门票认证以确定是否重定向所述页面,包括:
根据所述第一门票和所述第三门票进行第二次门票认证;
当第二次门票认证通过时,确定将所述页面重定向至所述真实网址对应的页面。
12.根据权利要求1所述的方法,其特征在于,还包括:
在第二次门票认证完成之后,从缓存区移除所述第一门票。
13.根据权利要求1-6中任一项所述的方法,其特征在于,还包括:
响应于所述客户端发送的携带接口信息的第五请求,获取接口权限配置清单;
根据所述接口权限配置清单和所述接口信息,进行接口认证;
当接口认证通过时,向接口服务器发送携带接口信息的第六请求,其中,所述第六请求用于指示所述接口服务器根据所述接口信息向所述客户端提供接口服务。
14.根据权利要求13所述的方法,其特征在于,所述接口信息包括页面编码,所述获取接口权限配置清单,包括:
当在缓存区未查找到与所述页面编码对应的接口权限配置清单时,向所述权限服务器发送携带所述页面编码的接口权限配置请求,其中,所述接口权限配置请求用于请求获取与所述页面编码对应的所述接口权限配置清单;
接收并缓存所述权限服务器反馈的所述接口权限配置清单。
15.根据权利要求13所述的方法,其特征在于,所述接口信息还包括接口编码,所述根据所述接口权限配置清单和所述接口信息,进行接口认证,包括:
当所述接口权限配置清单中包含所述接口编码时,确定所述接口认证通过。
16.一种基于API网关重定向页面的方法,其特征在于,应用于权限服务器,包括:
响应于API网关发送的携带客户端对应的账号和密码的身份认证请求,根据所述账号和所述密码对所述客户端进行身份认证,并向所述API网关反馈身份认证结果;
响应于所述API网关发送的携带所述客户端对应的账号的页面权限配置请求,根据所述账号获取与所述账号对应的页面权限配置清单,并向所述API网关反馈所述页面权限配置清单。
17.根据权利要求16所述的方法,其特征在于,还包括:
响应于所述API网关发送的携带包括页面编码的接口信息的接口权限配置请求,根据所述页面编码获取与所述页面编码对应的接口权限配置清单并向所述API网关反馈所述接口权限配置清单。
18.一种API网关装置,其特征在于,包括:收发模块,处理模块,第一认证模块,第二认证模块,第三认证模块,其中,
所述收发模块,用于接收客户端发送的第一请求;
所述第一认证模块,用于响应于所述第一请求,对所述客户端进行身份认证;
所述收发模块,还用于接收所述客户端在身份认证通过之后发送的第二请求;
所述处理模块,用于响应于所述第二请求,获取并处理页面对应的第一门票,以进行第一次门票认证和第二次门票认证;
所述收发模块,还用于接收所述客户端发送的第三请求;
所述第二认证模块,用于响应于所述第三请求,所述第三请求中携带第二门票和页面编码,根据所述第一门票和所述第二门票,进行第一次门票认证;
所述第三认证模块,用于当第一次门票认证通过时,获取页面权限配置清单;根据所述页面权限配置清单和所述页面编码,进行页面认证;
所述收发模块,还用于在页面认证通过之后向所述客户端发送重定向指令;
所述收发模块,还用于接收所述页面对应的网关基于所述重定向指令发送的第四请求;
所述第二认证模块,还用于响应于所述第四请求,根据所述第一门票进行第二次门票认证以确定是否重定向所述页面。
19.一种权限装置,其特征在于,包括:
收发模块,用于接收API网关发送的携带客户端对应的账号和密码的身份认证请求;
认证模块,用于响应于所述身份认证请求,根据所述账号和所述密码对所述客户端进行身份认证;
所述收发模块,还用于向所述API网关反馈身份认证结果;
所述收发模块,还用于接收所述API网关发送的携带所述客户端对应的账号的页面权限配置请求,根据所述账号获取与所述账号对应的页面权限配置清单,并向所述API网关反馈所述页面权限配置清单。
20.一种电子设备,其特征在于,包括:存储器,收发器,处理器,其中,
所述存储器,用于存储计算机程序;
所述收发器,用于在所述处理器的控制下接收客户端发送的第一请求;
所述处理器,用于读取所述存储器中的计算机程序并执行以下操作:响应于所述第一请求,对所述客户端进行身份认证;
所述收发器,还用于在所述处理器的控制下接收所述客户端在身份认证通过之后发送的第二请求;
所述处理器,还用于读取所述存储器中的计算机程序并执行以下操作:响应于所述第二请求,获取并处理页面对应的第一门票,以进行第一次门票认证和第二次门票认证;
所述收发器,还用于在所述处理器的控制下接收所述客户端发送的第三请求;
所述处理器,还用于读取所述存储器中的计算机程序并执行以下操作:响应于所述第三请求,所述第三请求中携带第二门票和页面编码,根据所述第一门票和所述第二门票,进行第一次门票认证;当第一次门票认证通过时,获取页面权限配置清单;根据所述页面权限配置清单和所述页面编码,进行页面认证,以及在页面认证通过之后,所述收发器,还用于在所述处理器的控制下向所述客户端发送重定向指令;
所述收发器,还用于在所述处理器的控制下接收所述页面对应的网关基于所述重定向指令发送的第四请求;
所述处理器,还用于读取所述存储器中的计算机程序并执行以下操作:响应于所述第四请求,根据所述第一门票进行第二次门票认证以确定是否重定向所述页面。
21.一种电子设备,其特征在于,包括:存储器,收发器,处理器,其中,
所述存储器,用于存储计算机程序;
所述收发器,用于在所述处理器的控制下接收API网关发送的携带客户端对应的账号和密码的身份认证请求;
所述处理器,还用于读取所述存储器中的计算机程序并执行以下操作:响应于所述身份认证请求,根据所述账号和所述密码对所述客户端进行身份认证;
所述收发器,还用于在所述处理器的控制下向所述API网关反馈身份认证结果;
所述收发器,还用于响应于所述API网关发送的携带所述客户端对应的账号的页面权限配置请求,根据所述账号获取与所述账号对应的页面权限配置清单,并向所述API网关反馈所述页面权限配置清单。
22.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-15、权利要求16-17中任一项所述的基于API网关重定向页面的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110383186.3A CN114598490B (zh) | 2021-04-09 | 2021-04-09 | 基于api网关重定向页面的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110383186.3A CN114598490B (zh) | 2021-04-09 | 2021-04-09 | 基于api网关重定向页面的方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114598490A CN114598490A (zh) | 2022-06-07 |
CN114598490B true CN114598490B (zh) | 2024-03-29 |
Family
ID=81813655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110383186.3A Active CN114598490B (zh) | 2021-04-09 | 2021-04-09 | 基于api网关重定向页面的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114598490B (zh) |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9450944B1 (en) * | 2015-10-14 | 2016-09-20 | FullArmor Corporation | System and method for pass-through authentication |
CN106131079A (zh) * | 2016-08-29 | 2016-11-16 | 腾讯科技(北京)有限公司 | 一种认证方法、系统及代理服务器 |
CN109039880A (zh) * | 2018-09-05 | 2018-12-18 | 四川长虹电器股份有限公司 | 一种利用api网关实现简单认证授权的方法 |
CN109067914A (zh) * | 2018-09-20 | 2018-12-21 | 星环信息科技(上海)有限公司 | Web服务的代理方法、装置、设备及存储介质 |
CN109639572A (zh) * | 2018-12-06 | 2019-04-16 | 网易(杭州)网络有限公司 | 路由管理方法、装置及微服务系统 |
CN109672612A (zh) * | 2018-12-13 | 2019-04-23 | 中国电子科技集团公司电子科学研究院 | Api网关系统 |
KR20190134135A (ko) * | 2018-05-25 | 2019-12-04 | 삼성에스디에스 주식회사 | 클라우드 플랫폼에 기반한 서비스 제공 방법 및 그 시스템 |
CN110569638A (zh) * | 2018-06-06 | 2019-12-13 | 中移(苏州)软件技术有限公司 | 一种api认证的方法、装置、存储介质及计算设备 |
CN110661798A (zh) * | 2019-09-23 | 2020-01-07 | 紫光云(南京)数字技术有限公司 | 基于认证鉴权平台的认证鉴权方法 |
CN111147525A (zh) * | 2020-02-27 | 2020-05-12 | 深圳市伊欧乐科技有限公司 | 基于api网关的认证方法、系统、服务器和存储介质 |
CN111431838A (zh) * | 2019-01-09 | 2020-07-17 | 北京神州泰岳软件股份有限公司 | 一种集群中单点登录和注销的方法、装置及api网关 |
CN111526152A (zh) * | 2016-08-12 | 2020-08-11 | 阿里巴巴集团控股有限公司 | 一种认证方法、设备以及认证客户端 |
CN111651739A (zh) * | 2020-05-08 | 2020-09-11 | 腾讯科技(深圳)有限公司 | 登录认证服务系统及方法、认证服务节点、电子设备 |
CN111654468A (zh) * | 2020-04-29 | 2020-09-11 | 平安国际智慧城市科技股份有限公司 | 免密登录方法、装置、设备及存储介质 |
CN111865920A (zh) * | 2020-06-18 | 2020-10-30 | 多加网络科技(北京)有限公司 | 一种网关认证和身份鉴权的平台及其方法 |
CN111949959A (zh) * | 2020-08-14 | 2020-11-17 | 中国工商银行股份有限公司 | Oauth协议中的授权认证方法及装置 |
CN112039909A (zh) * | 2020-09-03 | 2020-12-04 | 平安科技(深圳)有限公司 | 基于统一网关的认证鉴权方法、装置、设备及存储介质 |
CN112261022A (zh) * | 2020-10-15 | 2021-01-22 | 四川长虹电器股份有限公司 | 一种基于api网关的安全认证方法 |
CN112613010A (zh) * | 2020-12-28 | 2021-04-06 | 北京世纪互联宽带数据中心有限公司 | 一种认证服务方法、装置、服务器及认证服务系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11122056B2 (en) * | 2018-08-20 | 2021-09-14 | Jpmorgan Chase Bank, N.A. | Systems and methods for binding authorization to a proxy using a get/authorize URL through a native application |
-
2021
- 2021-04-09 CN CN202110383186.3A patent/CN114598490B/zh active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9450944B1 (en) * | 2015-10-14 | 2016-09-20 | FullArmor Corporation | System and method for pass-through authentication |
CN111526152A (zh) * | 2016-08-12 | 2020-08-11 | 阿里巴巴集团控股有限公司 | 一种认证方法、设备以及认证客户端 |
CN106131079A (zh) * | 2016-08-29 | 2016-11-16 | 腾讯科技(北京)有限公司 | 一种认证方法、系统及代理服务器 |
KR20190134135A (ko) * | 2018-05-25 | 2019-12-04 | 삼성에스디에스 주식회사 | 클라우드 플랫폼에 기반한 서비스 제공 방법 및 그 시스템 |
CN110569638A (zh) * | 2018-06-06 | 2019-12-13 | 中移(苏州)软件技术有限公司 | 一种api认证的方法、装置、存储介质及计算设备 |
CN109039880A (zh) * | 2018-09-05 | 2018-12-18 | 四川长虹电器股份有限公司 | 一种利用api网关实现简单认证授权的方法 |
CN109067914A (zh) * | 2018-09-20 | 2018-12-21 | 星环信息科技(上海)有限公司 | Web服务的代理方法、装置、设备及存储介质 |
CN109639572A (zh) * | 2018-12-06 | 2019-04-16 | 网易(杭州)网络有限公司 | 路由管理方法、装置及微服务系统 |
CN109672612A (zh) * | 2018-12-13 | 2019-04-23 | 中国电子科技集团公司电子科学研究院 | Api网关系统 |
CN111431838A (zh) * | 2019-01-09 | 2020-07-17 | 北京神州泰岳软件股份有限公司 | 一种集群中单点登录和注销的方法、装置及api网关 |
CN110661798A (zh) * | 2019-09-23 | 2020-01-07 | 紫光云(南京)数字技术有限公司 | 基于认证鉴权平台的认证鉴权方法 |
CN111147525A (zh) * | 2020-02-27 | 2020-05-12 | 深圳市伊欧乐科技有限公司 | 基于api网关的认证方法、系统、服务器和存储介质 |
CN111654468A (zh) * | 2020-04-29 | 2020-09-11 | 平安国际智慧城市科技股份有限公司 | 免密登录方法、装置、设备及存储介质 |
CN111651739A (zh) * | 2020-05-08 | 2020-09-11 | 腾讯科技(深圳)有限公司 | 登录认证服务系统及方法、认证服务节点、电子设备 |
CN111865920A (zh) * | 2020-06-18 | 2020-10-30 | 多加网络科技(北京)有限公司 | 一种网关认证和身份鉴权的平台及其方法 |
CN111949959A (zh) * | 2020-08-14 | 2020-11-17 | 中国工商银行股份有限公司 | Oauth协议中的授权认证方法及装置 |
CN112039909A (zh) * | 2020-09-03 | 2020-12-04 | 平安科技(深圳)有限公司 | 基于统一网关的认证鉴权方法、装置、设备及存储介质 |
CN112261022A (zh) * | 2020-10-15 | 2021-01-22 | 四川长虹电器股份有限公司 | 一种基于api网关的安全认证方法 |
CN112613010A (zh) * | 2020-12-28 | 2021-04-06 | 北京世纪互联宽带数据中心有限公司 | 一种认证服务方法、装置、服务器及认证服务系统 |
Non-Patent Citations (3)
Title |
---|
"FirecREST: a RESTful API to HPC systems";F. A. Cruz等;《 2020 IEEE/ACM International Workshop on Interoperability of Supercomputing and Cloud Technologies (SuperCompCloud)》;全文 * |
"Machine Learning in Action: Securing IAM API by Risk Authentication Decision Engine";N. Djosic等;《2020 IEEE Conference on Communications and Network Security (CNS)》;20200807;全文 * |
前后端分离模式下的WEB系统集成方案;王锋;刘俊波;;通信技术(09);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114598490A (zh) | 2022-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3333744B1 (en) | Authorization code flow for in-browser applications | |
JP5458888B2 (ja) | 証明書生成配布システム、証明書生成配布方法およびプログラム | |
TWI322609B (en) | System and method for authenticating clients in a client-server environment | |
CN106209749B (zh) | 单点登录方法及装置、相关设备和应用的处理方法及装置 | |
JP6141076B2 (ja) | システムおよびその制御方法、アクセス管理サービスシステムおよびその制御方法、並びにプログラム | |
US8732815B2 (en) | System, method of authenticating information management, and computer-readable medium storing program | |
JP6929181B2 (ja) | デバイスと、その制御方法とプログラム | |
CN103188248A (zh) | 基于单点登录的身份认证系统及方法 | |
EP2581852A1 (en) | Information processing system, image processing apparatus, control method, and storage medium | |
US20130138957A1 (en) | Migrating authenticated content towards content consumer | |
EP2683127A1 (en) | Voucher authorization for cloud server | |
JP2017107342A (ja) | 認証連携システム及び認証連携方法、認可サーバー、アプリケーションサーバー及びプログラム | |
CN112632521B (zh) | 一种请求响应方法、装置、电子设备和存储介质 | |
JP2013145506A (ja) | 権限委譲システム、アクセス管理サービスシステム、および権限委譲システムを制御する制御方法 | |
CN101420416A (zh) | 身份管理平台、业务服务器、登录系统及方法、联合方法 | |
CN109495486B (zh) | 一种基于JWT的单页Web应用集成CAS的方法 | |
CN108259457B (zh) | 一种web认证方法及装置 | |
US20150180850A1 (en) | Method and system to provide additional security mechanism for packaged web applications | |
US20200045037A1 (en) | Token store service for platform authentication | |
CN113761509B (zh) | iframe验证登录方法及装置 | |
CN110661798A (zh) | 基于认证鉴权平台的认证鉴权方法 | |
CN114598490B (zh) | 基于api网关重定向页面的方法、装置、设备及存储介质 | |
CN112653673B (zh) | 基于单点登录的多因素认证方法和系统 | |
JP2019050535A (ja) | 情報処理装置、プログラム及び情報処理方法 | |
CN111177736A (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 |