CN117668806A - 应用程序的访问方法、装置、计算机设备与存储介质 - Google Patents
应用程序的访问方法、装置、计算机设备与存储介质 Download PDFInfo
- Publication number
- CN117668806A CN117668806A CN202311376491.5A CN202311376491A CN117668806A CN 117668806 A CN117668806 A CN 117668806A CN 202311376491 A CN202311376491 A CN 202311376491A CN 117668806 A CN117668806 A CN 117668806A
- Authority
- CN
- China
- Prior art keywords
- program
- type information
- function type
- identifier
- access 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000004590 computer program Methods 0.000 claims abstract description 36
- 230000009191 jumping Effects 0.000 claims abstract description 8
- 230000006870 function Effects 0.000 claims description 470
- 238000013475 authorization Methods 0.000 claims description 149
- 238000012795 verification Methods 0.000 claims description 11
- 238000005516 engineering process Methods 0.000 abstract description 4
- 101150053844 APP1 gene Proteins 0.000 description 10
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 10
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 8
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 8
- 230000003993 interaction Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000013507 mapping 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
Abstract
本申请涉及网络安全技术领域的一种应用程序的访问方法、装置、计算机设备、存储介质和计算机程序产品。方法包括:当接收第二程序的客户端上传的访问请求时,提取访问请求中的第一标识、加密功能类型信息;当第一标识与预存的第二标识一致时,对加密功能类型信息进行解密,得到功能类型信息;基于功能类型信息,确定功能类型信息对应路径;基于路径,生成跳转消息,向第二程序的客户端推送跳转消息,跳转消息用于在第二程序的客户端中跳转至功能类型信息对应的功能界面。此外,还涉及另一种网络安全技术领域的应用程序的访问方法、装置、计算机设备、存储介质和计算机程序产品。
Description
技术领域
本申请涉及网络安全技术领域,特别是涉及一种应用程序的访问方法、装置、计算机设备、存储介质和计算机程序产品。此外,还涉及另一种应用程序的访问方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着科学技术的发展,用户可以通过点击第一程序上的控件,跳转至第二程序,从而在第一程序上实现第二程序的访问,这种技术能够为用户提供便捷、丰富的服务。其中,第一程序可以是小程序、APP(Application,应用程序)、公众号等;第二程序可以是小程序等。
传统技术中,实现在第一程序上访问第二程序的方法主要包括:第一程序的客户端点击功能菜单,获取第一程序的编号,并将第一程序的编号发送到第一程序的服务端,第一程序的服务端对编号进行加密,第一程序的客户端/服务端再将加密的编号发送至第二程序的客户端,第二程序的客户端将加密的编号发送至第二程序的服务端,由第二程序的服务端对加密后的编号进行解密,判断解密得到的第一程序编号是否与之前获取的第一程序编号一致,若一致,则获取从第一程序跳转至第二程序的操作行为信息,判断操作行为信息是否符合权限,若符合,则访问第二程序。然而,目前的这种应用程序的访问方式仍然不够安全。
发明内容
基于此,有必要针对上述技术问题,提供一种安全的应用程序的访问方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。此外,还提供另一种安全的应用程序的访问方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种应用程序的访问方法。所述方法包括:
当接收第二程序的客户端上传的访问请求时,提取所述访问请求中的第一标识和加密功能类型信息,所述访问请求由第一程序生成、并发送至所述第二程序的客户端;
当所述第一标识与预存的第二标识一致时,对所述加密功能类型信息进行解密,得到功能类型信息;
基于所述功能类型信息,确定所述功能类型信息对应路径;
基于所述路径,生成跳转消息,向所述第二程序的客户端推送所述跳转消息,所述跳转消息用于在所述第二程序的客户端中跳转至所述功能类型信息对应的功能界面。
在一些实施例中,在所述当接收客户端上传的访问请求时,提取所述访问请求中的第一标识之前,还包括:
当接收到业务终端上传的针对第一程序的授权请求时,向所述第一程序发送标识获取请求;
获取所述第一程序上传的第二标识;
基于所述第二标识,确定加密密钥,并将所述加密密钥发送至所述第一程序,所述加密密钥用于在所述第一程序接收到应用访问请求后对功能类型信息进行加密。
在一些实施例中,所述基于所述第二标识,确定加密密钥包括:
获取已生成加密密钥;
基于所述已生成加密密钥、及第二标识,随机生成加密密钥。
在一些实施例中,在当接收第二程序的客户端上传的访问请求时,提取所述第二程序请求中的第一标识、加密功能类型信息之前,还包括:
获取所述加密密钥对应的解密密钥;
将所述解密密钥、所述加密密钥及所述第二标识关联存储。
在一些实施例中,所述当所述第一标识与预存的第二标识一致时,对所述加密功能类型信息进行解密,得到功能类型信息包括:
当所述第一标识与所述第二标识一致时,查询所述第二标识关联的解密密钥;
基于所述解密密钥,对所述加密功能类型信息进行解密,得到功能类型信息。
在一些实施例中,所述基于所述功能类型信息,确定所述功能类型信息对应路径包括:
从程序功能权限关联信息中查询所述第一标识对应的功能权限;
若所述功能权限与所述功能类型信息匹配,则基于所述功能类型信息,确定所述功能类型信息对应路径。
在一些实施例中,所述若所述功能权限与所述功能类型信息匹配,则基于所述功能类型信息,确定所述功能类型信息对应路径包括:
若所述功能权限与所述功能类型信息匹配,则基于所述功能类型信息,从程序功能路径信息中查询所述功能类型信息对应的路径。
在一些实施例中,所述基于所述路径,生成跳转消息包括:
获取所述第二程序的客户端上传的加密时间戳,所述加密时间戳为所述第一程序上传所述访问请求至所述第二程序的客户端时生成、并加密的时间戳;
对所述加密时间戳进行解密,得到时间戳;
当所述时间戳表征所述访问请求有效时,基于所述路径,生成跳转消息。
在一些实施例中,所述基于所述路径,生成跳转消息包括:
当获取第二程序的客户端上传的加密授权码时,对所述加密授权码进行解密,得到授权码,所述加密授权码由所述第一程序对授权码进行加密后生成,所述第一程序发送所述加密授权码至所述第二程序的客户端;
基于所述授权码,从安全组件查询所述授权码对应的用户信息;
基于所述路径、及所述用户信息,生成跳转消息。
第二方面,本申请还提供了一种应用程序的访问装置,所述装置包括:
访问标识获取模块,用于当接收第二程序的客户端上传的访问请求时,提取所述访问请求中的第一标识和加密功能类型信息,所述访问请求由第一程序生成、并发送至所述第二程序的客户端;
访问解析模块,用于当所述第一标识与预存的第二标识一致时,对所述加密功能类型信息进行解密,得到功能类型信息;
路径确定模块,用于基于所述功能类型信息,跳转至所述功能类型信息对应路径;
页面推送模块,用于基于所述路径,生成跳转消息,向所述第二程序的客户端推送所述跳转消息,所述跳转消息用于在所述第二程序的客户端中跳转至所述功能类型信息对应的功能界面。
在一些实施例中,所述装置还包括访问授权模块,所述访问授权模块用于当接收到业务终端上传的针对第一程序的授权请求时,向所述第一程序发送标识获取请求;获取所述第一程序上传的第二标识;基于所述第二标识,确定加密密钥,并将所述加密密钥发送至所述第一程序,所述加密密钥用于在所述第一程序接收到应用访问请求后对功能类型信息进行加密。
在一些实施例中,所述访问授权模块还用于获取已生成加密密钥;基于所述已生成加密密钥、及第二标识,随机生成加密密钥。
在一些实施例中,所述访问授权模块还用于获取所述加密密钥对应的解密密钥;将所述解密密钥、所述加密密钥及所述第一标识关联存储。
在一些实施例中,所述访问解析模块还用于当所述第一标识与所述第二标识一致时,查询所述第二标识关联的解密密钥;基于所述解密密钥,对所述加密功能类型信息进行解密,得到功能类型信息。
在一些实施例中,所述路径确定模块还用于从程序功能权限关联信息中查询所述第一标识对应的功能权限;若所述功能权限与所述功能类型信息匹配,则基于所述功能类型信息,确定所述功能类型信息对应路径。
在一些实施例中,所述路径确定模块还用于若所述功能权限与所述功能类型信息匹配,则基于所述功能类型信息,从程序功能路径信息中查询所述功能类型信息对应的路径。
在一些实施例中,所述页面推送模块还用于获取所述第二程序的客户端上传的加密时间戳,所述时间戳为所述第一程序发送所述访问请求至所述第二程序的客户端时生成、并加密的时间戳;对所述加密时间戳进行解密,得到时间戳;当所述时间戳表征所述访问请求有效时,基于所述路径,生成跳转消息。
在一些实施例中,所述页面推送模块还用于当获取第二程序的客户端上传的加密授权码时,对所述加密授权码进行解密,得到授权码,所述加密授权码由所述第一程序对授权码进行加密后生成,所述第一程序发送所述加密授权码至所述第二程序的客户端;基于所述授权码,从安全组件查询所述授权码对应的用户信息;基于所述路径、及所述用户信息,生成跳转消息。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
当接收第二程序的客户端上传的访问请求时,提取所述访问请求中的第一标识和加密功能类型信息,所述访问请求由第一程序生成、并发送至所述第二程序的客户端;
当所述第一标识与预存的第二标识一致时,对所述加密功能类型信息进行解密,得到功能类型信息;
基于所述功能类型信息,确定所述功能类型信息对应路径;
基于所述路径,生成跳转消息,向所述第二程序的客户端推送所述跳转消息,所述跳转消息用于在所述第二程序的客户端中跳转至所述功能类型信息对应的功能界面。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
当接收第二程序的客户端上传的访问请求时,提取所述访问请求中的第一标识、加密功能类型信息,所述访问请求由第一程序生成、并发送至所述第二程序的客户端;
当所述第一标识与预存的第二标识一致时,对所述加密功能类型信息进行解密,得到功能类型信息;
基于所述功能类型信息,确定所述功能类型信息对应路径;
基于所述路径,生成跳转消息,向所述第二程序的客户端推送所述跳转消息,所述跳转消息用于在所述第二程序的客户端中跳转至所述功能类型信息对应的功能界面。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
当接收第二程序的客户端上传的访问请求时,提取所述访问请求中的第一标识、加密功能类型信息,所述访问请求由第一程序生成、并发送至所述第二程序的客户端;
当所述第一标识与预存的第二标识一致时,对所述加密功能类型信息进行解密,得到功能类型信息;
基于所述功能类型信息,确定所述功能类型信息对应路径;
基于所述路径,生成跳转消息,向所述第二程序的客户端推送所述跳转消息,所述跳转消息用于在所述第二程序的客户端中跳转至所述功能类型信息对应的功能界面。
上述应用程序的访问方法、装置、计算机设备、存储介质和计算机程序产品,整个过程中,访问请求由第一程序基于加密的功能类型信息、第一标识生成,并发送至第二程序的客户端,再由第二程序的客户端上传至第一程序的服务端;在第二程序的服务端接收访问请求时,只有当预存的第二标识与第一程序上传的访问请求中的第一标识一致时,才能够对加密的功能类型信息进行解密,得到功能类型信息,并基于功能类型信息对应路径来安全生成跳转消息,以供在第二程序的客户端中安全跳转至功能类型信息对应的功能界面。
第六方面,本申请还提供了一种应用程序的访问方法,所述方法包括:
当接收到第一程序的客户端发送的应用访问请求时,提取所述应用访问请求中的第二程序标识、及功能类型信息与第一标识;
确定所述第二程序标识所表征的第二程序;采用加密密钥,对功能类型信息进行加密,得到加密功能类型信息;
基于所述加密功能类型信息及所述第一标识,生成访问请求,并向所述第二程序发送所述访问请求,所述访问请求包括所述加密功能类型信息及第一标识,所述访问请求用以指示所述第二程序在所述第一标识验证通过后,对所述加密功能类型信息进行解密得到功能类型信息,并基于所述功能类型信息对应的路径生成跳转消息。
在一些实施例中,所述基于所述加密功能类型信息、及第一标识,生成访问请求,并向所述第二程序发送所述访问请求,包括:
若不存在用户信息,则基于所述加密功能类型信息及第一标识,生成访问请求,并向所述第二程序发送所述访问请求;
若存在用户信息,则向安全组件发送所述用户信息;
获取所述安全组件基于所述用户信息返回的授权码,并对所述授权码进行加密,得到加密授权码;
基于所述加密功能类型信息、所述加密授权码及第一标识,生成访问请求,并向所述第二程序发送所述访问请求。
第七方面,本申请还提供了一种应用程序的访问装置,所述装置包括:
访问请求接收模块,用于当接收到第一程序的客户端发送的应用访问请求时,提取所述应用访问请求中的第二程序标识、及功能类型信息与第一标识;
第二程序确定模块,用于确定所述第二程序标识所表征的第二程序;
密钥加密模块,用于采用加密密钥,对功能类型信息进行加密,得到加密功能类型信息;
请求接入模块,用于基于所述加密功能类型信息及所述第一标识,生成访问请求,并向所述第二程序发送所述访问请求,所述访问请求包括所述加密功能类型信息及第二标识,所述访问请求用以指示所述第二程序在所述第一标识验证通过后,对所述加密功能类型信息进行解密得到功能类型信息,并基于所述功能类型信息对应的路径生成跳转消息。
在一些实施例中,所述请求接入模块还用于若不存在用户信息,则基于所述加密功能类型信息及第一标识,生成访问请求,并向所述第二程序发送所述访问请求;若存在用户信息,则向安全组件发送所述用户信息;获取所述安全组件基于所述用户信息返回的授权码,并对所述授权码进行加密,得到加密授权码;基于所述加密功能类型信息、所述加密授权码及第一标识,生成访问请求,并向所述第二程序发送所述访问请求。
第八方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
当接收到第一程序的客户端发送的应用访问请求时,提取所述应用访问请求中的第二程序标识、及功能类型信息与第一标识;
确定所述第二程序标识所表征的第二程序;采用加密密钥,对功能类型信息进行加密,得到加密功能类型信息;
基于所述加密功能类型信息及所述第一标识,生成访问请求,并向所述第二程序发送所述访问请求,所述访问请求包括所述加密功能类型信息及第一标识,所述访问请求用以指示所述第二程序在所述第一标识验证通过后,对所述加密功能类型信息进行解密得到功能类型信息,并基于所述功能类型信息对应的路径生成跳转消息。
第九方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
当接收到第一程序的客户端发送的应用访问请求时,提取所述应用访问请求中的第二程序标识、及功能类型信息与第一标识;
确定所述第二程序标识所表征的第二程序;采用加密密钥,对功能类型信息进行加密,得到加密功能类型信息;
基于所述加密功能类型信息及所述第一标识,生成访问请求,并向所述第二程序发送所述访问请求,所述访问请求包括所述加密功能类型信息及第一标识,所述访问请求用以指示所述第二程序在所述第一标识验证通过后,对所述加密功能类型信息进行解密得到功能类型信息,并基于所述功能类型信息对应的路径生成跳转消息。
第十方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
当接收到第一程序的客户端发送的应用访问请求时,提取所述应用访问请求中的第二程序标识、及功能类型信息与第一标识;
确定所述第二程序标识所表征的第二程序;采用加密密钥,对功能类型信息进行加密,得到加密功能类型信息;
基于所述加密功能类型信息及所述第一标识,生成访问请求,并向所述第二程序发送所述访问请求,所述访问请求包括所述加密功能类型信息及第一标识,所述访问请求用以指示所述第二程序在所述第一标识验证通过后,对所述加密功能类型信息进行解密得到功能类型信息,并基于所述功能类型信息对应的路径生成跳转消息。
上述应用程序的访问方法、装置、计算机设备、存储介质和计算机程序产品,当接收到第一程序的客户端发送的应用访问请求时,提取应用访问请求中的第二程序标识、及功能类型信息与第一标识;确定第二程序标识所表征的第二程序;采用加密密钥,对功能类型信息进行加密,得到加密功能类型信息;基于加密功能类型信息及第一标识,生成访问请求,并向第二程序发送访问请求,访问请求包括加密功能类型信息及第一标识,访问请求用以指示第二程序在第一标识验证通过后,对加密功能类型信息进行解密得到功能类型信息,并基于功能类型信息对应的路径生成跳转消息。整个过程中,基于加密密钥对功能类型信息进行加密,从而能够通过与第二程序的交互,能够实现安全的应用程序访问。
附图说明
图1为一些实施例中应用程序的访问方法的应用环境图;
图2为一些实施例中应用程序的访问方法的流程示意图;
图3为另一些实施例中应用程序的访问方法的流程示意图;
图4为又一些实施例中应用程序的访问方法的流程示意图;
图5为再一些实施例中应用程序的访问方法的流程示意图;
图6为又一些实施例中应用程序的访问方法的流程示意图;
图7为一些具体应用实例中应用程序与安全组件的交互示意图;
图8为另一些具体应用实例中应用程序的访问方法的流程示意图;
图9为又一些具体应用实例中应用程序的访问方法的流程示意图;
图10为一些实施例中应用程序的访问装置的结构框图;
图11为另一些实施例中应用程序的访问装置的结构框图;
图12为一些实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要符合相关规定。
本申请实施例提供的应用程序的访问方法,均可以应用于如图1所示的应用环境中。其中,包括用户终端102、第一程序的服务端104、第二程序的服务端106。用户终端102中包括第一程序的客户端108与第二程序的客户端110。用户终端102通过网络与第一程序的服务端104进行通信,第一程序的服务端104与第二程序的客户端110进行通信。数据存储系统可以存储第一程序的服务端104需要处理的数据,也可以存储第二程序的服务端106需要处理的数据。数据存储系统可以集成在第一程序的服务端104上,也可以放在第二程序的服务端106上。
当用户需要从第一程序访问第二程序的界面时,用户在用户终端102上操作,点击用户终端102中第一程序的客户端108,进入第一程序界面,并在第一程序的客户端界面进行操作,点击界面上关联有第二程序标识的功能控件,从而上传应用访问请求至第一程序的服务端104,即应用访问请求中携带有功能类型信息、第二程序标识与第一程序的第一标识;当第一程序的服务端104接收用户终端102上传的应用访问请求时,提取应用访问请求中的第二程序标识、第一标识与功能类型信息;确定第二程序标识所表征的第二程序;并采用预存的加密密钥,对功能类型信息进行加密,得到加密功能类型信息;基于加密功能类型信息和第一标识,生成针对第二程序的访问请求,发送访问请求至第二程序的客户端110,此时,用户终端102跳转至第二程序的客户端110;第二程序的客户端110向第二程序的服务端106转发访问请求。
当第二程序的服务端106获取第二程序的客户端110转发的访问请求,提取访问请求中的加密功能类型信息和第一标识,当第一标识与预存的第二标识一致时,对加密功能类型信息进行解密,得到功能类型信息;基于功能类型信息,确定功能类型信息对应的功能界面。进一步地,基于功能类型信息,确定功能类型信息对应路径;并基于路径,生成跳转消息,向第二程序的客户端110推送跳转消息,跳转消息用于在第二程序的客户端110中跳转至功能类型信息对应的功能界面,以展示至用户。
其中,用户终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。第一程序的服务端104、第二程序的服务端106均可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一些实施例中,如图2所示,提供了一种应用程序的访问方法,以该方法应用于图1中的第二程序的服务端106为例进行说明,包括以下步骤:
S200,当接收第二程序的客户端上传的访问请求时,提取访问请求中的第一标识和加密功能类型信息。
其中,访问请求用于访问第二程序。访问请求是指用户想要从当前的第一程序界面访问第二程序界面的请求。其中,第一程序界面包括但不限于小程序、APP、网页、公众号等,第二程序包括但不限于除第一程序界面外的小程序等。
具体地,首先,当用户需要从第一程序访问第二程序的界面时,用户在用户终端上操作,点击用户终端中第一程序的客户端,进入第一程序界面,并在第一程序的客户端界面进行操作,点击界面上关联有第二程序标识的功能控件,从而上传应用访问请求至第一程序的服务端,即应用访问请求中携带有功能类型信息、第二程序标识与第一程序的第一标识;当第一程序的服务端接收用户终端上传的应用访问请求时,提取应用访问请求中的第二程序标识、第一标识与功能类型信息;确定第二程序标识所表征的第二程序,并采用预存的加密密钥,对功能类型信息进行加密,得到加密功能类型信息;基于加密功能类型信息和第一标识,生成针对第二程序的访问请求,发送访问请求至第二程序的客户端,此时,用户终端跳转至第二程序的客户端;第二程序的客户端向第二程序的服务端转发访问请求。当第二程序的服务端获取第二程序的客户端转发的访问请求,提取访问请求中的加密功能类型信息和第一标识。
以用户从第一程序1的界面访问第二程序2、且第二程序2在用户终端上为例,用户从第一程序1的界面访问第二程序2,用户终端的第一程序1的界面上显示许多第二程序的功能菜单。用户在当前的第一程序1的界面上点击第二程序2的功能控件,且第一程序的服务端会从用户的点击操作中获取第二程序的标识“2”、第一程序的标识“1”、功能类型信息,并基于标识“2”确定需要访问的第二程序为“2”,并基于标识“1”、功能类型信息生成以加密链接形式表征的访问请求至第二程序“2”的客户端,此时,用户终端跳转至“2”的客户端,由“2”的客户端转发访问请求至“2”的服务端,第二程序的服务端从访问请求中提取标识“1”与加密功能类型信息。
进一步地,第二程序的服务端能够发布接入网关,由服务端中的接入网关来进行应用程序的访问过程中的数据处理操作,即第二程序的服务端在应用程序的访问过程中的数据处理操作实际上是由第二程序的服务端中的接入网关来完成的。其中,接入网关可以接收两个字段的信息,一个是第一程序的标识字段,另一个是第一程序生成的加密参数字段。更进一步地,第一标识用于表征第一程序。第一标识不仅可以是文字形式、数字形式、字母形式等,也可以包括任意文字形式、数字形式、字母形式、其它符号形式之间的两种及以上形式。
S300,当第一标识与预存的第二标识一致时,对加密功能类型信息进行解密,得到功能类型信息。
具体地,第一标识是用户终端上传访问请求时携带的标识,它是被第二程序预先授权的标识,当第一程序被预先授权时,用户才能够在用户终端点击功能控件,实现跳转至第二程序。且后续在跳转至第二程序时,第二程序获取的第一标识需要与之前在第二程序存储的第二标识一致,才认为该第一程序是得到授权的程序,从而能够有权限跳转至功能类型信息对应的相应界面。
进一步来说,对第二标识与第一程序上传的第一标识进行判断,当第一标识与第二标识一致时,才能对第二程序上传的加密功能类型信息进行解密,得到功能类型信息。当第一标识与第二标识不一致时,认为此时上传访问请求的不是经过授权的第一程序,无法对第一程序上传的加密功能类型信息进行解密,此时第一程序无法接入第二程序,向第一程序发送拒绝接入消息。
S400,基于功能类型信息,确定功能类型信息对应路径。
具体地,第二程序的服务端获取解密后的功能类型信息,以该功能类型信息为基础,得到功能类型信息对应路径,使得第二程序跳转到功能类型信息对应的功能界面。即路径用于指示第二程序跳转至功能类型信息对应的功能界面。
S500,基于路径,生成跳转消息,向第二程序的客户端推送跳转消息。
其中,跳转消息用于使第二程序的客户端跳转至功能类型信息对应的功能界面。
具体地,第二程序的服务端基于确定的路径,生成跳转消息,并向第二程序的客户端推送跳转消息,使得第二程序的客户端上能够展示有功能类型信息对应的功能页面,实现用户能够第二程序的访问。比如,以功能类型信息为A功能映射的功能字段为例,第二程序的服务端能够基于路径,确定A界面作为待跳转的页面,使得第二程序的客户端通过路径能够跳转至A界面。
上述应用程序的访问方法中,访问请求由第一程序基于加密的功能类型信息与第一标识生成,并发送至第二程序的客户端,再由第二程序的客户端发送至第一程序的服务端;在第二程序的服务端接收访问请求时,只有当预存的第二标识与第一程序上传的访问请求中的第一标识一致时,才能够对加密的功能类型信息进行解密,得到功能类型信息,并基于功能类型信息对应路径来安全生成跳转消息,以供在第二程序的客户端中安全跳转至功能类型信息对应的功能界面。
在一些实施例中,如图3所示,在S200之前,还包括:
S120,当接收到业务终端上传的针对第一程序的授权请求时,向第一程序发送标识获取请求。
具体地,在用户在终端上传访问请求之前,还需要在第二程序中对第一程序进行授权,以使得第一程序发送至第二程序的访问请求合法。进一步地,授权是通过获取第一程序标识来进行的。业务人员通过持有的业务终端上传针对第一程序的授权请求至第二程序的服务端,第二程序的服务端接收业务终端上传的授权请求,向第一程序发送标识获取请求。
S140,获取第一程序上传的第二标识。
具体地,当第一程序接收标识获取请求时,上传第一程序的自身标识,即第二标识至第二程序的服务端,以供第二程序的服务端获取、并存储第一程序的标识。此时,认为对第一程序授权成功,第二程序支持第一程序的访问。因此,可以理解的是,第二标识是第一程序用于授权的自身标识,第一标识是第一程序实际接入时的自身标识,只有两者一样,才能执行访问第二程序的操作。
进一步地,第一程序不仅可以向第二程序的服务端上传第一标识,还可以向第二程序的服务端上传第一程序的相关联系人等信息,以便当第一程序发生错误时,能够查询相关联系人信息以进行告知。
S160,基于第二标识,确定加密密钥,并将加密密钥发送至第一程序。
其中,加密密钥用于在第一程序的服务端接收到应用访问请求后对功能类型信息进行加密。
具体地,第二程序的服务端获取了第一程序的第二标识,会为第二程序分配加密算法及加密密钥。进一步来说,第二程序的服务端为第一程序分配的加密算法均一致,但是加密密钥存在不同,即不同的第一程序会被分配不同的加密密钥。总的来说,第二程序的服务端获取加密算法,基于第二标识,确定加密算法中的加密密钥,将加密算法及加密密钥发送至第一程序,在第一程序接收到跳转请求时,第一程序可以采用加密算法与加密密钥对第二程序中的各种参数信息进行加密。其中,参数信息可以包括功能类型信息。对功能类型信息进行加密,得到加密功能类型信息。
本实施例中,由业务终端上传授权请求,用户只需在第一程序授权后,在第一程序上发送访问请求至第二程序的服务端,能够减少用户侧的操作,提高效率。进一步地,第二程序的服务端获取第一程序上传的第一标识,并且基于第一标识,能够准确确定对第一程序的参数信息进行加密的加密密钥,从而实现第一程序参数信息的加密传输,避免信息的泄露。
在一些实施例中,基于第二标识,确定加密密钥包括:
获取已生成加密密钥;基于已生成加密密钥、及第二标识,随机生成加密密钥。
具体地,由于不同的第二标识对应不同的加密密钥,所以在随机生成密钥时,对第一程序确定的加密密钥需要与之前生成的加密密钥不同。例如,第二程序的服务端授权的第一程序有程序1与程序2,用于对程序1与程序2中参数信息进行加密的加密密钥不同。若程序1首先授权,则程序1对应的加密密钥为已生成加密密钥,在为程序2生成加密密钥时,需要排除与程序1对应的加密密钥相同的密钥。
本实施例中,通过对不同的第一程序设置不同的加密密钥,能够保障每个第一程序的加密密钥不会被其它第一程序获取,避免其它第一程序能够基于同样的加密密钥来获取解密密钥,从而泄露该第一程序的信息。
在一些实施例中,在当接收第二程序的客户端上传的访问请求时,提取第二程序请求中的第一标识、加密功能类型信息之前,还包括:
获取加密密钥对应的解密密钥;将解密密钥、加密密钥及第二标识关联存储。
具体地,在第二程序的服务端随机生成加密密钥时,也会生成加密密钥对应的解密密钥,将加密密钥、加密密钥对应的解密密钥、第二标识进行关联,并将关联后的加密密钥、加密密钥对应的解密密钥、第二标识一起存储。进一步地,存储的形式可以是以表格的形式存储,也可以是以其它形式存储。以表格的形式存储时,可以是对原有的关联表格进行更新,也可以是新创建密钥与标识关联的表格。
本实施例中,通过将解密密钥、加密密钥及第二标识关联存储,能够基于关联存储后的信息,来使用标识查询对应的解密密钥,以对后续的加密功能类型信息进行解密。
在一些实施例中,当第一标识与预存的第二标识一致时,对加密功能类型信息进行解密,得到功能类型信息包括:
当第一标识与第二标识一致时,查询第二标识关联的解密密钥;基于解密密钥,对加密功能类型信息进行解密,得到功能类型信息。
具体地,当第一标识与第二标识一致时,查询第二标识关联的解密密钥,也可以查询第一标识关联的解密密钥。其中,查询关联的解密密钥时,可以是先确定与第二标识一致的标识,再确定该标识关联的解密密钥。进一步地,若关联信息是以表格的形式存储,则可以在关联表格中查询解密密钥,即在关联表格中确定第二标识所在的行数,并确定该行中对应的解密密钥。更进一步地,由于加密功能类型信息是第一程序基于加密密钥对功能类型信息进行加密的,而解密密钥是加密密钥对应的密钥,因此,基于解密密钥,可以使得第二程序的服务端对加密功能类型信息进行解密,恢复第一程序发送的功能类型信息,从而能够实现第二程序的客户端能够落地到功能类型信息对应的功能界面。
本实施例中,通过当第一标识与第二标识一致时,才查询第二标识关联的解密密钥,可以避免其它非授权方来使用该第二程序授权后对应的解密密钥,能够安全的得到功能类型信息。
在一些实施例中,基于功能类型信息,确定功能类型信息对应路径包括:
从程序功能权限关联信息中查询第一标识对应的功能权限;若功能权限与功能类型信息匹配,则基于功能类型信息,确定功能类型信息对应路径。
其中,程序功能权限关联信息是存储在第二程序的服务端数据库中的第一程序与对应的功能权限关联的信息,功能权限是指第一程序有权限来进行操作的功能。
具体地,在第二程序在服务端对第一程序授权后,第二程序的服务端能够获取第二程序对第一程序可允许进行操作的功能权限,并且将第一程序的功能权限与第一程序的标识进行关联存储,从而得到程序功能权限关联信息。进一步地,关联存储的方式可以是以表格的形式进行关联存储,每个第一程序的功能权限与第一程序的标识都在表格中的同一行,在表格中的不同行中,第一程序的功能权限与第一程序的标识一一映射。例如,某个第一程序的标识为“3”,该第一程序的功能权限包括:A、B,此时,以表格形式表征的程序功能权限关联信息的某一行为:3-A、B。
更进一步地,第二功能权限关联信息中的标识是授权时上传的标识,因此,在获取第一程序发送的访问请求、且访问请求中的第一标识与之前授权时获取的第二标识一致时,能够基于第一标识,在程序功能权限关联信息中查询第一标识对应的权限信息。换句话说,程序功能权限关联信息是第二标识与第一程序的功能权限关联的信息,由于第二标识与第一标识一致,因此,采用第一标识来在程序功能权限关联信息中查询第一标识对应功能权限。
若查询到的功能权限与解密得到的功能类型信息匹配,则认为有权限跳转至功能类型信息对应的功能界面。若查询到的功能权限与解密得到的功能类型信息不匹配,则认为无权限跳转至功能类型信息对应的功能界面。
本实施例中,通过从程序功能权限关联信息中查询第一标识对应的功能权限,校验功能权限与功能类型信息是否匹配,从而对跳转至功能类型信息丢的界面是否越权的跳转进行判断,实现在功能权限与功能类型信息匹配的情况下,基于功能类型信息,跳转至功能类型信息对应的功能界面。
在一些实施例中,若功能权限与功能类型信息匹配,则基于功能类型信息,确定功能类型信息对应路径包括:
若功能权限与功能类型信息匹配,则基于功能类型信息,从程序功能路径信息中查询功能类型信息对应的路径。
具体地,第二程序的服务端的数据库中还存在程序功能路径表,其中,程序功能路径信息是第一程序、第一程序的功能权限、各功能权限对应的跳转路径关联存储的信息。程序功能路径信息可以以表格的形式表征,也可以以其它形式表征。路径是用于调用第二程序的客户端跳转至功能类型信息对应的功能界面的接口。
进一步地,若功能权限与功能类型信息匹配,即功能类型信息不是越权的功能类型信息时,可以基于该功能类型信息,从程序功能路径信息中查询功能类型信息对应的路径。一般地,在基于该功能类型信息,从程序功能路径信息中查询功能类型信息对应的路径时,首先,需要基于功能类型信息,从程序功能路径信息中查询能够匹配的功能权限,当能够查询到匹配的功能权限时,获取与功能权限映射的路径。若查询不到与功能权限映射的路径,则无法跳转至功能类型信息对应的功能界面;若查询到与功能权限映射的路径,则基于路径,使得第二程序的客户端跳转至功能类型信息对应的功能界面。
本实施例中,能够通过程序功能路径信息,实现功能类型信息对应的路径的查询,从而能够基于功能类型信息对应的路径,使得第二程序的客户端准确跳转至功能类型信息对应的功能界面。
在一些实施例中,基于路径,生成跳转消息包括:
获取第二程序的客户端上传的加密时间戳;对加密时间戳进行解密,得到时间戳;当时间戳表征访问请求有效时,基于路径,生成跳转消息。
其中,加密时间戳为第一程序发送访问请求至第二程序的客户端时生成、并加密的时间戳,用于控制访问请求的时效性。
具体地,第二程序的服务端的接入网关中的加密参数字段中不仅包括功能类型信息,还包括时间戳。即第一程序在发送访问请求时,第一程序中会产生上传访问请求的时间戳,第一程序采用加密算法与加密密钥对时间戳进行加密,得到加密时间戳,并将加密时间戳与访问请求一起上传至第二程序的客户端;再由第二程序的客户端转发加密时间戳与访问请求至第二程序的服务端;第二程序的服务端接收加密时间戳,采用第一程序对应的解密密钥对加密时间戳进行解密,得到时间戳。由于时间戳可以控制访问请求的时效性,因此,若时间戳表征访问请求无效时,即使得到了路径,也无法跳转至功能类型信息对应功能界面;若时间戳表征访问请求有效时,则基于路径,生成跳转消息,使得第二程序的客户端可以基于路径,跳转至功能界面。
进一步地,判断时间戳是否表征访问请求无效的方法包括:预设时间戳有效时间范围,当时间戳与当前时刻之间的时间间隔超过预设时间戳有效时间范围时,认为时间戳表征访问请求无效;当时间戳与当前时刻之间的时间间隔不超过预设时间戳有效时间范围时,认为时间戳表征访问请求有效。以预设时间戳有效时间范围为60s为例,当时间戳为11:40:39、且当前时刻为11:40:50为例,时间戳与当前时刻之间的时间间隔不超过预设时间戳有效时间范围,认为时间戳表征访问请求有效。
本实施例中,通过采用时间戳来表征访问请求是否有效,当访问请求有效时,能够基于路径,生成推送消息,使得跳转的过程更加准确,避免在访问请求无效时的跳转失败。
在一些实施例中,如图4所示,S500包括:
S520,当获取第二程序的客户端上传的加密授权码时,对加密授权码进行解密,得到授权码。
其中,加密授权码由第一程序对授权码进行加密后生成,第一程序发送加密授权码至第二程序的客户端。
具体地,当第一程序中存在用户信息时,第一程序会采用OAuth2.0方法来获取授权码。其中,OAuth2.0是一个关于授权的开放的网络协议,它允许用户让第三方应用访问该用户在某一网站上存储的资源(如:照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。具体来说,第一程序将用户信息发送至安全组件,安全组件能够返回与用户信息关联的授权码至第一程序,第一程序采用加密密钥对授权码进行加密,得到加密授权码。
进一步地,第二程序的服务端获取加密授权码,通过第一程序对应的解密密钥,对加密授权码进行解密,得到授权码。即第一程序上传用户信息对应的加密授权码,而不直接上传用户信息至第二程序,从而能够确保用户信息不会在上传时被攻击者截取。且对授权码进行加密,能够对用户信息进行双重保护。
S540,基于授权码,从安全组件查询授权码对应的用户信息。
具体地,第二程序的服务端将授权码上传至安全组件,安全组件接收授权码,从关联信息中查询授权码对应的用户信息,并将用户信息返回至服务端,以供服务端获取用户信息。其中,用户信息包括但不限于用户ID(Identity document,身份标识号)、用户手机号、用户身份证号及用户的基础信息等,用户的基础信息包括但不限于职业、性别、年龄等。
S560,基于路径、及用户信息,生成跳转消息。
其中,跳转消息用于控制第二程序的客户端跳转至携带有用户信息的功能界面。
具体地,第二程序的服务端基于用户信息、功能类型信息,生成跳转消息,并向第二程序的客户端发送跳转消息,能够使得第二程序的客户端跳转至功能类型信息对应的功能界面,此时的功能界面是携带了用户信息的功能界面。以第一程序1为例,用户信息为user3,此时的第一程序1是登录了用户信息user3的程序。若需要在当前的第一程序跳转至第二程序2时,则第一程序1在接收用户终端的应用程序访问请求时,会将user3发送至安全组件,安全组件基于user3,生成授权码,并将授权码与user3关联,返回授权码至第一程序,第一程序对授权码进行加密后上传至第二程序的服务端。第二程序的服务端解密加密授权码,并将授权码发送至安全组件,以从安全组件中查询授权码关联的用户user3,将user3发送至第二程序客户端,第二程序的客户端此时跳转的功能类型信息对应的功能界面是已经登录了user3的功能界面。
本实施例中,通过增加安全组件,能够存储第一程序的用户信息,从而使得第一程序无需直接上传用户信息至第二程序,而是上传与用户信息关联的加密授权码至第二程序,以使得第二程序对加密授权码进行解密后,能够从安全组件获取用户信息,确保上传的用户信息不被攻击者截取。
在一些实施例中,如图5所示,提供了一种应用程序的访问方法,以该方法应用于图1中的第一程序的服务端104为例进行说明,包括以下步骤:
S600,当接收到第一程序的客户端发送的应用访问请求时,提取应用访问请求中的第二程序标识、功能类型信息与第一标识。
S700,确定第二程序标识所表征的第二程序。
具体地,用户在用户终端上的第一程序的客户端中点击携带有第二程序标识的功能控件,生成应用访问请求至第一程序的服务端,应用访问请求中携带第二程序标识、及功能类型信息与第一标识;第一程序的服务端提取应用访问请求中的第二程序标识,确定要进行访问的第二程序,以向确定的第二程序发送访问请求。
S800,采用加密密钥,对功能类型信息进行加密,得到加密功能类型信息。
具体地,在用户终端上的第一程序的客户端中上传应用访问请求至第一程序的服务端时,服务端提取应用访问请求中的第一标识,第一标识是第一程序自身的标识;第一程序的服务端还基于加密密钥对获取的参数信息进行加密,得到加密参数信息。
进一步地,参数信息包括功能类型信息,功能类型信息包括功能类型与功能类型对应的参数信息。以微银行为例,微银行中的功能类型包括:养老金功能、信用卡还款、基金功能等对应的映射字段,功能类型信息用于识别后续跳转至的实际页面。加密密钥是之前第二程序对第一程序授权时为第一程序分配的加密密钥。第一程序的服务端采用加密密钥对功能类型信息进行加密,可以得到加密功能类型信息,进一步地,参数信息还包括时间戳,可以采用加密密钥对时间戳进行加密,得到加密时间戳。
S900,基于加密功能类型信息及第一标识,生成访问请求,并向第二程序发送访问请求。
其中,第一标识是第一程序本身的标识。访问请求包括加密功能类型信息及第一标识,访问请求用以指示第二程序在第一标识验证通过后,对加密功能类型信息进行解密得到功能类型信息,并基于功能类型信息对应的路径生成跳转消息。
具体地,基于加密功能类型信息、及第一标识,第一程序的服务端能够生成针对第二程序的访问请求。进一步地,第一程序的服务端向第二程序的客户端发送访问请求,第二程序的客户端再向第二程序的服务端转发访问请求,使得第二程序的服务端能够基于访问请求,对加密功能类型信息进行解密,得到功能类型信息,从而使得第二程序的服务端能够基于功能类型信息对应的路径访问功能类型信息对应的功能界面。进一步地,对加密功能类型信息进行解密,是通过第一标识来查询对应的解密密钥,并采用解密密钥对加密功能类型信息进行解密的。
上述应用程序的访问方法中,当接收到用户终端发送的应用访问请求时,提取应用访问请求中的第二程序标识、及功能类型信息与第一标识;确定第二程序标识所表征的第二程序;采用加密密钥,对功能类型信息进行加密,得到加密功能类型信息;基于加密功能类型信息及第一标识,生成访问请求,并向第二程序发送访问请求,访问请求包括加密功能类型信息及第一标识,接入用以指示第二程序在第一标识验证通过后,对加密功能类型信息进行解密得到功能类型信息,并基于功能类型信息对应的路径生成跳转消息。整个过程中,基于加密密钥对功能类型信息进行加密,从而能够通过与第二程序的交互,能够实现安全的应用程序访问。
在一些实施例中,如图6所示,S900包括:
S920,若不存在用户信息,则基于加密功能类型信息及第一标识,生成访问请求,并向第二程序发送访问请求。
具体地,若第二程序的客户端跳转至功能类型信息对应的功能界面时,若第一程序的客户端上不携带用户信息,则第一程序的服务端直接基于加密功能类型信息、及第二标识,生成访问请求,向第二程序的客户端发送访问请求,第二程序的客户端再向第二程序的服务端转发访问请求,使得第二程序的服务端获取功能类型信息对应的路径,使得第二程序的客户端能够跳转至功能类型信息对应的功能界面,此时第二程序的客户端展示的功能界面是不携带用户信息的功能界面。
S940,若存在用户信息,则向安全组件发送用户信息。
具体地,若第二程序的客户端跳转至功能类型信息对应的功能界面时,若第一程序的客户端上携带了用户信息,则第一程序的客户端会将用户信息发送至第一程序的服务端,此时,看作第一程序的服务端携带用户信息,则第一程序的服务端会向安全组件发送用户信息,以使得安全组件发挥存储功能,存储用户信息,以便第一程序不直接上传用户信息至第二程序的服务端。进一步地,安全组件会基于用户信息,生成用户信息的授权码,并将用户信息与授权码相关联。另外,安全组件还将授权码发送至应用程序。
S960,获取安全组件基于用户信息返回的授权码,并对授权码进行加密,得到加密授权码。
S980,基于加密功能类型信息、加密授权码及第一标识,生成访问请求,并向第二程序发送访问请求。
具体地,第一程序获取安全组件返回的授权码,对授权码进行加密,得到加密的授权码,第一程序基于加密授权码、加密功能类型信息、第一程序的自身标识,生成访问请求。即若第一程序携带用户信息,则会将与用户信息关联的授权码加密后上传至第二程序的服务端,第二程序的服务端对加密功能类型信息、加密授权码进行解密,将授权码发送至安全组件,使得安全组件能够得到授权码对应的用户信息,并发送至第二程序的服务端。第二程序的服务端再将用户信息与路径向第二程序的客户端发送;使得第二程序的客户端可以基于用户信息、路径,跳转至携带了用户信息的功能界面。
本实施例中,在第一程序携带用户信息时,第一程序向安全组件发送用户信息,从而获取返回的授权码,并对授权码进行加密,将加密后的授权码发送至第二程序的服务端,通过加密和授权码的双重手段来保护用户信息。
在一些实施例中,如图7所示,在第一程序、第二程序与安全组件的交互过程中还可以看成是涉及客户端与服务端之间的数据交互。以用户想在APP1上访问APP2为例,数据交互过程具体包括:
S21、用户在APP1上处于登录状态,即APP1客户端拥有用户信息。
S22、APP1客户端将用户信息发送至APP1服务端。
S23、APP1服务端能够将用户信息发送至安全组件。
S24、安全组件返回授权码至APP1服务端。
S25、APP1服务端将授权码返回至APP1客户端。
S26、APP1客户端将授权码发送至APP2客户端。
S27、APP2客户端将授权码发送至APP2服务端。
S28、APP2服务端将授权码发送至安全组件。
S29、安全组件获取授权码对应的用户信息,并返回至APP2服务端。
S30、APP2服务端返回用户信息至APP2客户端。
在一些实施例中,如图8所示,以第一程序是APP,想访问的第二程序为是小程序为例,第一程序的标识是APPID。在APP上访问小程序的方法具体包括:
APP基于加密密钥对功能类型信息进行加密,得到加密功能类型信息,并基于加密功能类型信息、APPID,生成、并发送访问请求至小程序的客户端;此时,用户终端基于访问请求跳转至小程序的客户端,小程序的客户端将访问请求向小程序的服务端发送;
小程序的服务端对比访问请求中的APPID与之前授权时得到的APPID是否一致,若不一致,则拒绝接入;若一致,则查询APPID对应的解密密钥,以对加密功能类型信息进行解密,从而得到功能类型信息,并判断是否有权限接入功能类型信息对应的功能界面,若有权限,则获取功能类型信息对应的路径,并使得第二程序的客户端跳转至功能类型信息对应的功能界面,若无权限,则拒绝接入。
在一些实施例中,如图9所示,以用户点击用户终端上小程序1界面中小程序2的控件,想在小程序1上访问小程序2为例,小程序2的访问过程是在用户、用户终端、小程序1、小程序2的客户端、小程序2的接入网关、安全组件多方之间实现数据交互。
首先,在用户想在小程序1上访问小程序2之前,还会与业务终端进行数据交互,以实现在小程序2上小程序1的授权访问,对小程序1进行授权的方法包括:
S1、业务人员在业务终端上操作,使得业务终端上传小程序1的授权请求至小程序2的接入网关;
S2、小程序2的接入网关向待授权的小程序1发送标识获取请求;
S3、小程序1上传标识至小程序2的接入网关;
S4、小程序2的接入网关基于小程序1上传的标识,确定小程序1对应的加密密钥和解密密钥,并且将加密密钥发送至小程序1,以供在跳转时对小程序1中的参数进行加密。
进一步地,访问方法包括:
S5、用户在用户终端上点击当前小程序1界面中小程序2的功能控件;
S6、用户终端基于用户的点击操作,得到用户点击时小程序2的标识、功能类型信息,并将小程序2的标识发送至小程序1的服务端;小程序1的服务端根据小程序2的标识确定用户想访问的程序为小程序2,并获取小程序1的自身标识,再对获取的功能类型信息进行加密,以得到加密功能类型信息;
S7、令此时小程序1是登录状态的,即小程序1携带有用户信息,则将用户信息发送至安全组件。
S8、安全组件返回授权码至小程序1。
S9、小程序1采用加密密钥对授权码进行加密;再基于加密功能类型信息、加密授权码、小程序1本身标识,生成访问请求至小程序2的客户端。且在生成访问请求的过程中,还会生成访问请求的时间戳,小程序1采用加密密钥对时间戳进行加密,也发送至小程序2的客户端。
S10、小程序2的客户端将接收的访问请求与加密时间戳转发至小程序2的接入网关,由小程序2的接入网关提取访问请求中的小程序1标识,判断小程序1标识是否与之前授权的小程序1的标识一致,若一致,则获取标识对应的解密密钥来对访问请求中加密的参数进行解密,得到功能类型信息、授权码,还可以对加密时间戳进行解密,得到时间戳。小程序2的接入网关查询功能类型信息对应的跳转路径。
S11、小程序2的接入网关发送授权码至安全组件。
S12、安全组件基于授权码,查询授权码对应的用户信息,并将用户信息发送至小程序2的接入网关。
S13、当时间戳表征访问请求有效时,小程序2的接入网关基于用户信息、路径,生成跳转消息,并发送跳转消息至小程序2的客户端,使得小程序2的客户端跳转至功能类型信息对应的功能界面,此时跳转的功能界面也为登录状态。
S14、小程序2上客户端的功能界面被推送至用户终端界面,以展示至用户。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的应用程序的访问方法的应用程序的访问装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个应用程序的访问装置实施例中的具体限定可以参见上文中对于应用程序的访问方法的限定,在此不再赘述。
在一些实施例中,如图10所示,提供了一种应用程序的访问装置,包括:访问标识获取模块200、访问解析模块300、路径确定模块400和页面推送模块500,其中:
访问标识获取模块200,用于当接收第二程序的客户端上传的访问请求时,提取访问请求中的第一标识和加密功能类型信息,访问请求由第一程序生成、并发送至第二程序的客户端;
访问解析模块300,用于当第一标识与预存的第二标识一致时,对加密功能类型信息进行解密,得到功能类型信息;
路径确定模块400,用于基于功能类型信息,跳转至功能类型信息对应路径;
页面推送模块500,用于基于路径,生成跳转消息,向第二程序的客户端推送跳转消息,跳转消息用于在第二程序的客户端中跳转至功能类型信息对应的功能界面。
在一些实施例中,装置还包括访问授权模块,访问授权模块用于当接收到业务终端上传的针对第一程序的授权请求时,向第一程序发送标识获取请求;获取第一程序上传的第二标识;基于第二标识,确定加密密钥,并将加密密钥发送至第一程序,加密密钥用于在第一程序接收到应用访问请求后对功能类型信息进行加密。
在一些实施例中,访问授权模块还用于获取已生成加密密钥;基于已生成加密密钥、及第二标识,随机生成加密密钥。
在一些实施例中,访问授权模块还用于获取加密密钥对应的解密密钥;将解密密钥、加密密钥及第标识关联存储。
在一些实施例中,访问解析模块300还用于当第一标识与第二标识一致时,查询第二标识关联的解密密钥;基于解密密钥,对加密功能类型信息进行解密,得到功能类型信息。
在一些实施例中,路径确定模块400还用于从程序功能权限关联信息中查询第一标识对应的功能权限;若功能权限与功能类型信息匹配,则基于功能类型信息,确定功能类型信息对应路径。
在一些实施例中,路径确定模块400还用于若功能权限与功能类型信息匹配,则基于功能类型信息,从程序功能路径信息中查询功能类型信息对应的路径。
在一些实施例中,页面推送模块500还用于获取第二程序的客户端上传的加密时间戳,加密时间戳为第一程序发送访问请求至第二程序的客户端时生成、并加密的时间戳;对加密时间戳进行解密,得到时间戳;当时间戳表征访问请求有效时,基于路径,生成跳转消息。
在一些实施例中,页面推送模块500还用于当获取第二程序的客户端上传的加密授权码时,对加密授权码进行解密,得到授权码,加密授权码由第一程序对授权码进行加密后生成,第一程序发送加密授权码至第二程序的客户端;基于授权码,从安全组件查询授权码对应的用户信息;基于路径、及用户信息,生成跳转消息。
在一些实施例中,如图11所示,提供了一种应用程序的访问装置,包括:访问请求接收模块600、第二程序确定模块700、密钥加密模块800和请求接入模块900,其中:
访问请求接收模块600,用于当接收到第一程序的客户端发送的应用访问请求时,提取应用访问请求中的第二程序标识、及功能类型信息与第一标识;
第二程序确定模块700,用于确定第二程序标识所表征的第二程序;
密钥加密模块800,用于采用加密密钥,对功能类型信息进行加密,得到加密功能类型信息;
请求接入模块900,用于基于加密功能类型信息及第一标识,生成访问请求,并向第二程序发送访问请求,访问请求包括加密功能类型信息及第二标识,访问请求用以指示第二程序在第一标识验证通过后,对加密功能类型信息进行解密得到功能类型信息,并基于功能类型信息对应的路径生成跳转消息。
在一些实施例中,请求接入模块900还用于若不存在用户信息,则基于加密功能类型信息及第一标识,生成访问请求,并向第二程序发送访问请求;若存在用户信息,则向安全组件发送用户信息;获取安全组件基于用户信息返回的授权码,并对授权码进行加密,得到加密授权码;基于加密功能类型信息、加密授权码及第一标识,生成访问请求,并向第二程序发送访问请求。
上述应用程序的访问装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储第一标识、解密密钥等数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用程序的访问方法。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (25)
1.一种应用程序的访问方法,其特征在于,所述方法包括:
当接收第二程序的客户端上传的访问请求时,提取所述访问请求中的第一标识和加密功能类型信息,所述访问请求由第一程序生成、并发送至所述第二程序的客户端;所述访问请求用于访问所述第二程序;
当所述第一标识与预存的第二标识一致时,对所述加密功能类型信息进行解密,得到功能类型信息;
基于所述功能类型信息,确定所述功能类型信息对应路径;
基于所述路径,生成跳转消息,向所述第二程序的客户端推送所述跳转消息,所述跳转消息用于在所述第二程序的客户端中跳转至所述功能类型信息对应的功能界面。
2.根据权利要求1所述的方法,其特征在于,在所述当接收第二程序的客户端上传的访问请求时,提取所述访问请求中的第一标识之前,还包括:
当接收到业务终端上传的针对第一程序的授权请求时,向所述第一程序发送标识获取请求;
获取所述第一程序上传的第二标识;
基于所述第二标识,确定加密密钥,并将所述加密密钥发送至所述第一程序,所述加密密钥用于在所述第一程序接收到应用访问请求后对功能类型信息进行加密。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第二标识,确定加密密钥包括:
获取已生成加密密钥;
基于所述已生成加密密钥、及第二标识,随机生成加密密钥。
4.根据权利要求2所述的方法,其特征在于,在当接收第二程序的客户端上传的访问请求时,提取所述请求中的第一标识、加密功能类型信息之前,还包括:
获取所述加密密钥对应的解密密钥;
将所述解密密钥、所述加密密钥及所述第二标识关联存储。
5.根据权利要求4所述的方法,其特征在于,所述当所述第一标识与预存的第二标识一致时,对所述加密功能类型信息进行解密,得到功能类型信息包括:
当所述第一标识与所述第二标识一致时,查询所述第二标识关联的解密密钥;
基于所述解密密钥,对所述加密功能类型信息进行解密,得到功能类型信息。
6.根据权利要求1所述的方法,其特征在于,所述基于所述功能类型信息,确定所述功能类型信息对应路径包括:
从程序功能权限关联信息中查询所述第一标识对应的功能权限;
若所述功能权限与所述功能类型信息匹配,则基于所述功能类型信息,确定所述功能类型信息对应路径。
7.根据权利要求6所述的方法,其特征在于,所述若所述功能权限与所述功能类型信息匹配,则基于所述功能类型信息,确定所述功能类型信息对应路径包括:
若所述功能权限与所述功能类型信息匹配,则基于所述功能类型信息,从程序功能路径信息中查询所述功能类型信息对应的路径。
8.根据权利要求1所述的方法,其特征在于,所述基于所述路径,生成跳转消息包括:
获取所述第二程序的客户端上传的加密时间戳,所述加密时间戳为所述第一程序发送所述访问请求至所述第二程序的客户端时生成、并加密的时间戳;
对所述加密时间戳进行解密,得到时间戳;
当所述时间戳表征所述访问请求有效时,基于所述路径,生成跳转消息。
9.根据权利要求1所述的方法,其特征在于,所述基于所述路径,生成跳转消息包括:
当获取第二程序的客户端上传的加密授权码时,对所述加密授权码进行解密,得到授权码,所述加密授权码由所述第一程序对授权码进行加密后生成,所述第一程序发送所述加密授权码至所述第二程序的客户端;
基于所述授权码,从安全组件查询所述授权码对应的用户信息;
基于所述路径、及所述用户信息,生成跳转消息。
10.一种应用程序的访问方法,其特征在于,所述方法包括:
当接收到第一程序的客户端发送的应用访问请求时,提取所述应用访问请求中的第二程序标识、功能类型信息与第一标识;
确定所述第二程序标识所表征的第二程序;采用加密密钥,对功能类型信息进行加密,得到加密功能类型信息;
基于所述加密功能类型信息及所述第一标识,生成访问请求,并向所述第二程序发送所述访问请求,所述访问请求包括所述加密功能类型信息及第一标识,所述访问请求用以指示所述第二程序在所述第一标识验证通过后,对所述加密功能类型信息进行解密得到功能类型信息,并基于所述功能类型信息对应的路径生成跳转消息。
11.根据权利要求10所述的方法,其特征在于,所述基于所述加密功能类型信息、及所述第一标识,生成访问请求,并向所述第二程序发送所述访问请求,包括:
若不存在用户信息,则基于所述加密功能类型信息及第一标识,生成访问请求,并向所述第二程序发送所述访问请求;
若存在用户信息,则向安全组件发送所述用户信息;
获取所述安全组件基于所述用户信息返回的授权码,并对所述授权码进行加密,得到加密授权码;
基于所述加密功能类型信息、所述加密授权码及第一标识,生成访问请求,并向所述第二程序发送所述访问请求。
12.一种应用程序的访问装置,其特征在于,所述装置包括:
访问标识获取模块,用于当接收第二程序的客户端上传的访问请求时,提取所述访问请求中的第一标识和加密功能类型信息,所述访问请求由第一程序生成、并发送至所述第二程序的客户端;
访问解析模块,用于当所述第一标识与预存的第二标识一致时,对所述加密功能类型信息进行解密,得到功能类型信息;
路径确定模块,用于基于所述功能类型信息,跳转至所述功能类型信息对应路径;
页面推送模块,用于基于所述路径,生成跳转消息,向所述第二程序的客户端推送所述跳转消息,所述跳转消息用于在所述第二程序的客户端中跳转至所述功能类型信息对应的功能界面。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括访问授权模块,所述访问授权模块用于当接收到业务终端上传的针对第一程序的授权请求时,向所述第一程序发送标识获取请求;获取所述第一程序上传的第二标识;基于所述第二标识,确定加密密钥,并将所述加密密钥发送至所述第一程序,所述加密密钥用于在所述第一程序接收到应用访问请求后对功能类型信息进行加密。
14.根据权利要求13所述的装置,其特征在于,所述访问授权模块还用于获取已生成加密密钥;基于所述已生成加密密钥、及第二标识,随机生成加密密钥。
15.根据权利要求13所述的装置,其特征在于,所述访问授权模块还用于获取所述加密密钥对应的解密密钥;将所述解密密钥、所述加密密钥及所述第标识关联存储。
16.根据权利要求15所述的装置,其特征在于,所述访问解析模块还用于当所述第一标识与所述第二标识一致时,查询所述第二标识关联的解密密钥;基于所述解密密钥,对所述加密功能类型信息进行解密,得到功能类型信息。
17.根据权利要求12所述的装置,其特征在于,所述路径确定模块还用于从程序功能权限关联信息中查询所述第一标识对应的功能权限;若所述功能权限与所述功能类型信息匹配,则基于所述功能类型信息,确定所述功能类型信息对应路径。
18.根据权利要求17所述的装置,其特征在于,所述路径确定模块还用于若所述功能权限与所述功能类型信息匹配,则基于所述功能类型信息,从程序功能路径信息中查询所述功能类型信息对应的路径。
19.根据权利要求12所述的装置,其特征在于,所述页面推送模块还用于获取所述第二程序的客户端上传的加密时间戳,所述时间戳为所述第一程序发送所述访问请求至所述第二程序的客户端时生成、并加密的时间戳;对所述加密时间戳进行解密,得到时间戳;当所述时间戳表征所述访问请求有效时,基于所述路径,生成跳转消息。
20.根据权利要求12所述的装置,其特征在于,所述页面推送模块还用于当获取第二程序的客户端上传的加密授权码时,对所述加密授权码进行解密,得到授权码,所述加密授权码由所述第一程序对授权码进行加密后生成,所述第一程序发送所述加密授权码至所述第二程序的客户端;基于所述授权码,从安全组件查询所述授权码对应的用户信息;基于所述路径、及所述用户信息,生成跳转消息。
21.一种应用程序的访问装置,其特征在于,所述装置包括:
访问请求接收模块,用于当接收到第一程序的客户端发送的应用访问请求时,提取所述应用访问请求中的第二程序标识、功能类型信息与第一标识;
第二程序确定模块,用于确定所述第二程序标识所表征的第二程序;
密钥加密模块,用于采用加密密钥,对功能类型信息进行加密,得到加密功能类型信息;
请求接入模块,用于基于所述加密功能类型信息及所述第一标识,生成访问请求,并向所述第二程序发送所述访问请求,所述访问请求包括所述加密功能类型信息及第二标识,所述访问请求用以指示所述第二程序在所述第一标识验证通过后,对所述加密功能类型信息进行解密得到功能类型信息,并基于所述功能类型信息对应的路径生成跳转消息。
22.根据权利要求21所述的装置,其特征在于,所述请求接入模块还用于若不存在用户信息,则基于所述加密功能类型信息及第一标识,生成访问请求,并向所述第二程序发送所述访问请求;若存在用户信息,则向安全组件发送所述用户信息;获取所述安全组件基于所述用户信息返回的授权码,并对所述授权码进行加密,得到加密授权码;基于所述加密功能类型信息、所述加密授权码及第一标识,生成访问请求,并向所述第二程序发送所述访问请求。
23.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
24.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
25.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311376491.5A CN117668806A (zh) | 2023-10-23 | 2023-10-23 | 应用程序的访问方法、装置、计算机设备与存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311376491.5A CN117668806A (zh) | 2023-10-23 | 2023-10-23 | 应用程序的访问方法、装置、计算机设备与存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117668806A true CN117668806A (zh) | 2024-03-08 |
Family
ID=90077831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311376491.5A Pending CN117668806A (zh) | 2023-10-23 | 2023-10-23 | 应用程序的访问方法、装置、计算机设备与存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117668806A (zh) |
-
2023
- 2023-10-23 CN CN202311376491.5A patent/CN117668806A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109471844B (zh) | 文件共享方法、装置、计算机设备和存储介质 | |
US8832795B2 (en) | Using a communications network to verify a user searching data | |
CN108965416B (zh) | 医疗数据共享方法、装置、计算机设备和存储介质 | |
US20040010699A1 (en) | Secure data management techniques | |
CN104662870A (zh) | 数据安全管理系统 | |
CN106992851B (zh) | 基于TrustZone的数据库文件口令加解密方法、装置及终端设备 | |
CN112632581A (zh) | 用户数据处理方法、装置、计算机设备及存储介质 | |
CN105491058B (zh) | 一种api访问分布式授权方法及其系统 | |
US20220158829A1 (en) | Computer system, device, and method for securing sensitive data in the cloud | |
CN111917711B (zh) | 数据访问方法、装置、计算机设备和存储介质 | |
CN113792345A (zh) | 一种数据访问控制方法及装置 | |
US20230362018A1 (en) | System and Method for Secure Internet Communications | |
CN111510288B (zh) | 密钥管理方法、电子设备及存储介质 | |
CN116049802B (zh) | 应用单点登陆方法、系统、计算机设备和存储介质 | |
CN117668806A (zh) | 应用程序的访问方法、装置、计算机设备与存储介质 | |
CN113946862A (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
Thota et al. | Split key management framework for Open Stack Swift object storage cloud | |
CN111212090A (zh) | 终端列表获取方法、装置、计算机设备和存储介质 | |
CN113612607B (zh) | 终端密码能力共享的方法、装置、存储介质和电子设备 | |
CN114244616B (zh) | 登录验证方法、登录验证系统、电子设备以及存储介质 | |
CN115174260B (zh) | 数据验证方法、装置、计算机、存储介质和程序产品 | |
CN114691759B (zh) | 数据查询统计方法、装置、计算机设备及存储介质 | |
US20230353362A1 (en) | Access policy token | |
JP2008011097A (ja) | 属性認証方法、鍵管理装置、サービス提供先装置、サービス提供元装置、及び属性認証システム | |
CN114244574A (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 |