资源访问方法、装置及服务网关与流程

文档序号:19632028发布日期:2020-01-07 11:35阅读:137来源:国知局
资源访问方法、装置及服务网关与流程

本申请涉及网络通信技术领域,尤其涉及一种资源访问方法、装置及服务网关。



背景技术:

随着计算机以及网络技术的发展,资源共享变得越来越容易。资源拥有者将资源部署到资源服务器上,再将资源对应的资源服务器的接口信息发布到接口共享平台上。资源订阅者根据接口共享平台上的接口信息,从资源服务器获取资源,实现资源共享。

为了保证资源共享的安全性,资源拥有者需要对资源订阅者的身份进行验证,为通过验证的资源订阅者颁发授权许可证。资源订阅者通过客户端设备向授权服务器发送授权许可证。授权服务器基于该授权许可证向客户端设备返回访问资源所需的资源授权码。客户端设备向资源服务器发送资源访问请求,资源访问请求中携带获取到的资源授权码以及其所要访问的资源的接口信息。资源服务器根据接口信息从数据库中获取与该接口信息对应的资源授权码。若从数据库获取的资源授权码与资源访问请求中的资源授权码相同,则认为客户端设备有权访问该资源,因此,向客户端设备发送资源。

从上述描述可以看出,现有资源共享机制中,资源服务器除了对外提供资源外,还需要内嵌资源授权码校验功能,使资源服务器的自身结构具有侵入性。且在资源授权码校验过程中,资源服务器需要从数据库读取资源授权码,必然存在一定的时间开销,导致校验效率较低,且影响资源服务器对外提供资源的处理性能。

申请内容

有鉴于此,本申请为了解决现有资源共享机制存在的上述问题,提出一种资源访问方法、装置及服务网关,用以提升校验效率,降低对资源服务器的影响。

为实现上述申请目的,本申请提供了如下技术方案:

第一方面,本申请提供一种资源访问方法,应用于服务网关,该方法包括:

接收客户端设备发送的资源访问请求,所述资源访问请求包括第一资源授权码和第一资源授权码签名;

根据所述第一资源授权码和所述第一资源授权码签名,对所述第一资源授权码进行校验;

若所述第一资源授权码通过校验,向资源服务器转发所述资源访问请求;

接收所述资源服务器基于所述资源访问请求返回的资源,并转发给所述客户端设备。

可选的,所述根据所述第一资源授权码和所述第一资源授权码签名,对所述第一资源授权码进行校验,包括:

基于预设签名规则,对所述第一资源授权码进行签名,得到对应的第二资源授权码签名;

若所述第二资源授权码签名与所述第一资源授权码签名一致,确定所述第一资源授权码通过校验。

可选的,所述确定所述第一资源授权码通过校验,包括:

获取所述第一资源授权码的使用期限;

若所述第一资源授权码的使用未超过其对应的使用期限,确定所述第一资源授权码通过校验。

可选的,所述接收客户端设备发送的资源访问请求之前,所述方法还包括:

接收所述客户端设备发送的资源授权请求,所述资源授权请求包括第一摘要信息和第一身份信息,所述第一摘要信息为所述客户端设备利用所述客户端设备的私钥对预先约定的摘要信息进行加密得到;

根据所述第一身份信息,从指定存储介质中获取所述客户端设备的公钥;

利用所述客户端设备的公钥对所述第一摘要信息进行解密;

若解密得到的摘要信息与所述预先约定的摘要信息一致,生成第二资源授权码和第三资源授权码签名;

利用所述客户端设备的公钥对所述第二资源授权码和所述第三资源授权码签名加密,得到第三资源授权码和第四资源授权码签名;

将所述第三资源授权码和所述第四资源授权码签名发送给所述客户端设备,以使所述客户端设备利用所述客户端设备的私钥对所述第三资源授权码和所述第四资源授权码签名解密,得到所述第二资源授权码和所述第三资源授权码签名。

可选的,所述第一身份信息为所述客户端设备利用所述服务网关的公钥对所述客户端设备的身份信息进行加密得到,所述根据所述第一身份信息,从指定存储介质中,获取所述客户端设备的公钥,包括:

利用所述服务网关的私钥对所述第一身份信息解密,得到所述客户端设备的身份信息;

从所述指定存储介质中,获取与所述客户端设备的身份信息对应的所述客户端设备的公钥。

可选的,所述资源授权请求还包括所述资源的接口信息,所述生成第二资源授权码和第三资源授权码签名,包括:

根据所述客户端设备的身份信息、所述资源的接口信息以及当前时间,生成所述第二资源授权码;

基于预设签名规则,对所述第二资源授权码进行签名,得到所述第三资源授权码签名。

可选的,接收客户端设备发送的资源访问请求之前,所述方法还包括:

接收接口共享平台发送的接口代理请求,所述接口代理请求包括所述资源对应的资源服务器的接口信息;

将所述资源服务器的接口信息转换为所述服务网关的接口信息;

将所述服务网关的接口信息发送至所述接口共享平台,以使所述客户端设备根据所述接口共享平台发布的所述服务网关的接口信息,发送所述资源访问请求;

所述资源访问请求包括所述服务网关的接口信息;所述向资源服务器转发所述资源访问请求,包括:

确定与所述服务网关的接口信息对应的所述资源服务器的接口信息;

将所述资源访问请求中的所述服务网关的接口信息,替换为所述资源服务器的接口信息;

向所述资源服务器转发替换后的资源访问请求。

第二方面,本申请提供一种资源访问装置,应用于服务网关,所述装置包括:

接收单元,用于接收客户端设备发送的资源访问请求,所述资源访问请求包括第一资源授权码和第一资源授权码签名;

校验单元,用于根据所述第一资源授权码和所述第一资源授权码签名,对所述第一资源授权码进行校验;

发送单元,用于若所述第一资源授权码通过校验,向资源服务器转发所述资源访问请求;

所述接收单元,还用于接收所述资源服务器基于所述资源访问请求返回的资源;

所述发送单元,还用于将所述返回的资源转发给所述客户端设备。

可选的,所述校验单元根据所述第一资源授权码和所述第一资源授权码签名,对所述第一资源授权码进行校验,包括:

基于预设签名规则,对所述第一资源授权码进行签名,得到对应的第二资源授权码签名;

若所述第二资源授权码签名与所述第一资源授权码签名一致,确定所述第一资源授权码通过校验。

可选的,所述校验单元确定所述第一资源授权码通过校验,包括:

获取所述第一资源授权码的使用期限;

若所述第一资源授权码的使用未超过其对应的使用期限,确定所述第一资源授权码通过校验。

可选的,所述装置还包括:

所述接收单元,还用于接收所述客户端设备发送的资源授权请求,所述资源授权请求包括第一摘要信息和第一身份信息,所述第一摘要信息为所述客户端设备利用所述客户端设备的私钥对预先约定的摘要信息进行加密得到;

获取单元,用于根据所述第一身份信息,从指定存储介质中获取所述客户端设备的公钥;

解密单元,用于利用所述客户端设备的公钥对所述第一摘要信息进行解密;

生成单元,用于若解密得到的摘要信息与所述预先约定的摘要信息一致,生成第二资源授权码和第三资源授权码签名;

加密单元,用于利用所述客户端设备的公钥对所述第二资源授权码和所述第三资源授权码签名加密,得到第三资源授权码和第四资源授权码签名;

所述发送单元,还用于将所述第三资源授权码和所述第四资源授权码签名发送给所述客户端设备,以使所述客户端设备利用所述客户端设备的私钥对所述第三资源授权码和所述第四资源授权码签名解密,得到所述第二资源授权码和所述第三资源授权码签名。

可选的,所述第一身份信息为所述客户端设备利用所述服务网关的公钥对所述客户端设备的身份信息进行加密得到,所述获取单元根据所述第一身份信息,从指定存储介质中,获取所述客户端设备的公钥,包括:

利用所述服务网关的私钥对所述第一身份信息解密,得到所述客户端设备的身份信息;

从所述指定存储介质中,获取与所述客户端设备的身份信息对应的所述客户端设备的公钥。

可选的,所述资源授权请求还包括所述资源的接口信息,所述生成单元生成第二资源授权码和第三资源授权码签名,包括:

根据所述客户端设备的身份信息、所述资源的接口信息以及当前时间,生成所述第二资源授权码;

基于预设签名规则,对所述第二资源授权码进行签名,得到所述第三资源授权码签名。

可选的,所述装置还包括:

所述接收单元,还用于接收接口共享平台发送的接口代理请求,所述接口代理请求包括所述资源对应的资源服务器的接口信息;

转换单元,用于将所述资源服务器的接口信息转换为所述服务网关的接口信息;

所述发送单元,还用于将所述服务网关的接口信息发送至所述接口共享平台,以使所述客户端设备根据所述接口共享平台发布的所述服务网关的接口信息,发送所述资源访问请求;

所述资源访问请求包括所述服务网关的接口信息;所述发送单元向资源服务器转发所述资源访问请求,包括:

确定与所述服务网关的接口信息对应的所述资源服务器的接口信息;

将所述资源访问请求中的所述服务网关的接口信息,替换为所述资源服务器的接口信息;

向所述资源服务器转发替换后的资源访问请求。

第三方面,本申请提供一种服务网关,所述服务网关包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述资源访问方法。

第四方面,本申请提供一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现上述资源访问方法。

由以上描述可以看出,本申请中,由服务网关对资源授权码进行校验,不需要资源服务器内嵌校验功能,因此,可避免对资源服务器自身结构的侵入,同时降低对资源服务器处理性能的影响。且服务网关直接根据资源访问请求中的资源授权码和资源授权码签名,对资源授权码进行校验,不需要从数据库查询资源校验码,因此,可节约查询时间,提升资源授权码的校验效率,降低对服务网关转发性能的影响。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例示出的一种资源访问方法流程图;

图2是本申请实施例示出的一种校验第一资源授权码的实现流程;

图3是本申请实施例示出的一种确定第一资源授权码通过校验的实现流程;

图4是本申请实施例示出的一种服务网关为客户端设备提供资源授权码和资源授权码签名的实现流程;

图5是本申请实施例示出的一种获取客户端设备的公钥的实现流程;

图6是本申请实施例示出的一种服务网关生成资源授权码和资源授权码签名的实现流程;

图7是本申请实施例示出的一种接口代理实现流程;

图8是本申请实施例示出的步骤103中服务网关向资源服务器转发资源访问请求的实现流程;

图9是本申请实施例示出的一种资源访问装置的结构示意图;

图10是本申请实施例示出的一种服务网关的硬件结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请实施例范围的情况下,协商信息也可以被称为第二信息,类似地,第二信息也可以被称为协商信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

本申请实施例提供一种资源访问方法。该方法中,服务网关对资源授权码进行校验,不需要资源服务器内嵌校验功能,因此,可避免对资源服务器自身结构的侵入,同时降低对资源服务器处理性能的影响。且服务网关直接根据资源访问请求中的资源授权码和资源授权码签名,对资源授权码进行校验,不需要从数据库查询资源校验码,因此,可节约查询时间,提升资源授权码的校验效率,降低对服务网关转发性能的影响。

为了使本申请实施例的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本申请实施例执行详细描述:

参见图1,为本申请实施例提供的资源访问方法流程图。该流程应用于服务网关。

如图1所示,该流程可包括以下步骤:

步骤101,接收客户端设备发送的资源访问请求。

当客户端设备需要获取资源时,向服务网关发送资源访问请求。该资源访问请求包括第一资源授权码和第一资源授权码签名。

这里,第一资源授权码和第一资源授权码签名只是为便于描述而进行的命名,并非用于限定。

需要说明的是,资源授权码是客户端设备获取资源的凭证。客户端设备只有提供正确的资源授权码,才能获取到对应的资源。而资源授权码签名是对资源授权码执行特定处理后得到的结果。

客户端设备如何获取到资源授权码以及资源授权码签名的过程,在下文中描述,这里暂不赘述。

步骤102,根据第一资源授权码和第一资源授权码签名,对第一资源授权码进行校验。

本步骤中,服务网关可直接根据资源访问请求中的第一资源授权码和第一资源授权码签名,对第一资源授权码进行校验。

具体校验过程在下文中描述,这里暂不赘述。

步骤103,若第一资源授权码通过校验,则向资源服务器转发资源访问请求。

若第一资源授权码通过校验,说明客户端设备具备访问其所请求资源的权限,因此,服务网关将该客户端设备的资源访问请求转发至资源服务器。

步骤104,接收资源服务器基于资源访问请求返回的资源,并转发给客户端设备。

资源服务器接收到资源访问请求后,确定客户端设备所请求的资源,将其请求的资源发送给服务网关。

服务网关将资源转发至客户端设备,以使客户端设备获取到其所请求的资源。

至此,完成图1所示流程。

通过图1所示流程可以看出,本申请实施例中,服务网关对资源授权码进行校验,不需要资源服务器内嵌校验功能,因此,可避免对资源服务器自身结构的侵入,同时降低对资源服务器处理性能的影响。且服务网关直接根据资源访问请求中的资源授权码和资源授权码签名,对资源授权码进行校验,不需要从数据库查询资源校验码,因此,可节约查询时间,提升资源授权码的校验效率,降低对服务网关转发性能的影响。

下面对步骤102中服务网关校验第一资源授权码的过程进行描述。参见图2,为本申请实施例示出的一种校验第一资源授权码的实现流程。

如图2所示,该流程可包括以下步骤:

步骤201,基于预设签名规则,对第一资源授权码进行签名,得到对应的第二资源授权码签名。

需要说明的是,服务网关根据预设签名规则生成资源授权码签名的方式有很多种,本申请对此不作限定。作为一个例子,可采用信息摘要算法(全称:message-digestalgorithm,缩写:md5),对资源授权码进行签名,得到对应的资源授权码签名。

这里,第二资源授权码签名只是为便于描述而进行的命名,并非用于限定。

步骤202,若第二资源授权码签名与第一资源授权码签名一致,确定第一资源授权码通过校验。

由于签名规则仅预设于服务网关,且未通过网络传输,也未对外发布,因此,很难被非法用户获取,具有较高的安全性。

若服务网关通过签名规则得到第二资源授权码签名,且该第二资源授权码签名与客户端设备提供的第一资源授权码签名一致,说明该客户端设备提供了正确的资源授权码,则服务网关确定该第一资源授权码通过校验。

若服务网关通过签名规则得到第二资源授权码签名,而该第二资源授权码签名与客户端设备提供的第一资源授权码签名不一致,说明客户端设备提供的资源授权码可能被篡改,或者,可能是非法客户端设备伪造的资源授权码,则服务网关确定该第一资源授权码未通过校验。

至此,完成图2所示流程。

通过图2所示流程可以看出,由于签名规则仅预设于服务网关,因此,可保证校验过程的安全性和准确性。

下面对步骤202中若第二资源授权码签名与第一资源授权码签名一致,确定第一资源授权码通过校验的过程作进一步描述。参见图3,为本申请实施例示出的一种确定第一资源授权码通过校验的实现流程。

如图3所示,该流程可包括以下步骤:

步骤301,获取第一资源授权码的使用期限。

步骤302,若第一资源授权码的使用未超过其对应的使用期限,确定第一资源授权码通过校验。

作为一个实施例,服务网关可在执行步骤301之前获取第一资源授权码的生成时间。至少包括以下两种获取方式:

方式一,服务网关本地记录有合法的资源授权码(或对应的资源授权码签名)与资源授权码生成时间的对应关系。在确定第二资源授权码签名与第一资源授权码签名一致时,即确定第一资源授权码正确(合法)时,可从本地记录的对应关系中,获取与第一资源授权码(或第一资源授权码签名)对应的资源授权码生成时间,即第一资源授权码的生成时间。

方式二,第一资源授权码中包括第一资源授权码的生成时间,服务网关直接解析第一资源授权码,获取第一资源授权码的生成时间。

服务网关获取到第一资源授权码的生成时间后,获取预设的第一资源授权码(或第一资源授权码签名)的使用期限(比如,7天)。

若当前时间与第一资源授权码的生成时间的时间间隔未超过预设的使用期限,则确定第一资源授权码通过校验。比如,当前时间为2019年5月30日,第一资源授权码的生成时间为2019年5月28日,当前时间距离第一资源授权码的生成时间时隔2天,未超过7天的使用期限,该第一资源授权码还可以继续使用。因此,确定该第一资源授权码通过校验。

若当前时间与第一授权码生成时间的时间间隔超过预设的使用期限,说明第一资源授权码的使用期限已过,客户端设备需要重新获取资源授权码。因此,确定该第一资源授权码未通过校验。

至此,完成图3所示流程。

通过图3所示流程可以看出,本申请实施例通过预设资源授权码的使用期限,动态调整资源授权码,加大非法用户获取资源授权码的难度,进一步提升资源访问的安全性。

下面对客户端设备如何获取到资源授权码和资源授权码签名的过程进行描述。本申请实施例中,由服务网关为客户端设备提供资源授权码和资源授权码签名。参见图4,为本申请实施例示出的一种服务网关为客户端设备提供资源授权码和资源授权码签名的实现流程。

如图4所示,该流程可包括以下步骤:

步骤401,接收客户端设备发送的资源授权请求。

客户端设备在访问资源之前,需要拿到访问该资源的凭证,即资源授权码。为此,客户端设备向服务网关发送资源授权请求,该资源授权请求包括第一摘要信息、第一身份信息。

其中,第一摘要信息为客户端设备利用客户端设备的私钥对预先约定的摘要信息进行加密得到。

这里,第一摘要信息、第一身份信息只是为便于描述而进行的命名,并非用于限定。

步骤402,根据第一身份信息,从指定存储介质中获取客户端设备的公钥。

本申请实施例中,客户端设备可预先通过接口共享平台将客户端设备的公钥存储至指定存储介质中。具体为,客户端设备向接口共享平台发送资源订阅请求,该资源订阅请求包括客户端设备的身份信息、公钥以及订阅事由。资源拥有者对该资源订阅请求进行审批后,由接口共享平台将通过审批的客户端设备的身份信息与公钥之间的对应关系存储至指定存储介质中。作为一个实施例,该指定存储介质可以为数据库。

本步骤根据第一身份信息,从指定存储介质中获取客户端设备的公钥的过程,在下文中描述,这里暂不赘述。

步骤403,利用客户端设备的公钥对第一摘要信息进行解密。

步骤404,若解密得到的摘要信息与预先约定的摘要信息一致,生成第二资源授权码和第三资源授权码签名。

如前所述,指定存储介质中存储有已通过审批的合法客户端设备的公钥。若客户端设备利用自身私钥加密的摘要信息能够被合法客户端设备的公钥解开,即,解密得到的摘要信息与约定的摘要信息一致,说明该客户端设备为合法客户端设备。此时,服务网关可为该客户端设备生成第二资源授权码和对应的第三资源授权码签名。

这里,第二资源授权码、第三资源授权码签名只是为便于描述进行的命名,并非用于限定。

服务网关生成第二资源授权码和第三资源授权码签名的过程,在下文中描述,这里暂不赘述。

步骤405,利用客户端设备的公钥对第二资源授权码和第三资源授权码签名加密,得到第三资源授权码和第四资源授权码签名。

这里,第三资源授权码和第四资源授权码签名只是为便于描述而进行的命名,并非用于限定。

步骤406,将第三资源授权码和第四资源授权码签名发送给客户端设备。

客户端设备可利用自身私钥对第三资源授权码和第四资源授权码签名进行解密,得到第二资源授权码和第三资源授权码签名。再基于该第二资源授权码和第三资源授权码签名向服务网关发送资源访问请求,以使服务网关执行前述步骤101~步骤104。

至此,完成图4所示流程。

通过图4所示流程可以看出,本申请实施例中,通过利用客户端设备的非对称秘钥(私钥和公钥)对摘要信息进行加解密,来验证客户端设备的合法性。在确定客户端设备身份合法后,再利用该客户端设备的非对称秘钥对服务网关提供的资源授权码进行加解密,从而保证整个资源授权码获取过程的安全性。

下面对步骤402中服务网关根据第一身份信息,从指定存储介质中获取客户端设备的公钥的过程进行描述。

作为一个实施例,该第一身份信息可为客户端设备的身份信息。

步骤402中,服务网关获取客户端设备的公钥的过程,具体为,服务网关根据该第一身份信息,从指定存储介质中获取与该第一身份信息对应的客户端设备的公钥。

作为另一实施例,该第一身份信息可为客户端设备利用服务网关的公钥对客户端设备的身份信息进行加密得到。这里,需要说明的是,服务网关的公钥可预先发布到接口共享平台上,这样,所有用户(客户端设备)均可获取到。

步骤402中,服务网关获取客户端设备的公钥的过程,如图5所示。参见图5,为本申请实施例示出的一种获取客户端设备的公钥的实现流程。

如图5所示,该流程可包括以下步骤:

步骤501,利用服务网关的私钥对第一身份信息解密,得到客户端设备的身份信息。

由于第一身份信息为利用服务网关的公钥加密的客户端设备的身份信息,因此,本步骤可利用与该公钥对应的服务网关的私钥对第一身份信息进行解密,得到客户端设备的身份信息。

步骤502,从指定存储介质中,获取与客户端设备的身份信息对应的客户端设备的公钥。

在通过步骤501获取到客户端设备的身份信息后,服务网关可从指定存储介质中,获取与该客户端设备的身份信息对应的客户端设备的公钥。

至此,完成图5所示流程。

通过图5所示流程可以看出,本申请实施例中,利用服务网关的非对称秘钥(私钥和公钥)对客户端设备的身份信息进行加解密,从而保证身份信息的安全性。

下面对步骤404中服务网关生成第二资源授权码和第三资源授权码签名的过程进行描述。参见图6,为本申请实施例示出的一种服务网关生成资源授权码和资源授权码签名的实现流程。

如图6所示,该流程可包括以下步骤:

步骤601,服务网关根据客户端设备的身份信息、客户端设备所请求资源的接口信息以及当前时间,生成第二资源授权码。

客户端设备发送的资源授权请求中包括客户端设备的身份信息、客户端设备请求的资源的接口信息。

服务网关根据获取到的客户端设备的身份信息、资源的接口信息以及时间信息(当前时间),生成第二资源授权码。本申请对生成资源授权码的具体实施方式不作限定。

步骤603,根据预设的签名规则,对第二资源授权码进行签名,得到第三资源授权码签名。

本申请对生成资源授权码签名的具体实施方式不作限定。比如,可采用md5算法,对第二资源授权码进行签名,得到第三资源授权码。

至此,完成图6所示流程。

通过图6所示流程可以看出,本申请实施例在生成资源授权码时引入了时间信息。这样,既使同一客户端设备针对同一资源发起请求,其在不同时间点获取到的资源授权码也是不同的。即,资源授权码是动态变化的。增大了非法客户端设备获取资源授权码的难度,提升了资源访问的安全性。

作为一个实施例,在执行步骤101之前,服务网关还可执行如下接口代理流程。参见图7,为本申请实施例示出的一种接口代理实现流程。

如图7所示,该流程可包括以下步骤:

步骤701,接收接口共享平台发送的接口代理请求。

当资源拥有者希望共享其所拥有的资源时,可将该资源对应的资源服务器的接口信息发送至接口共享平台。

为了避免攻击者通过接口共享平台获取到资源服务器的接口信息,进而对资源服务器进行攻击,本申请实施例中,接口共享平台不对外发布该资源服务器的接口信息,而是向服务网关发送接口代理请求,在接口代理请求中携带资源服务器的接口信息。

服务网关接收该接口代理请求,获取该接口代理请求包括的资源服务器的接口信息。

步骤702,将资源服务器的接口信息转换为服务网关的接口信息。

本步骤中,服务网关对接口信息进行转发。比如,将资源服务器1的接口1转换为服务网关的接口11。

步骤703,将服务网关的接口信息发送至接口共享平台。

服务网关将通过步骤702转换后的服务网关的接口信息发送给接口共享平台。接口共享平台对外发布该服务网关的接口信息。即,在接口共享平台上呈现的是资源对应的服务网关的接口信息。

客户端设备根据接口共享平台上发布的服务网关的接口信息,访问对应资源。即,在客户端设备发送的资源访问请求中,携带资源对应的服务网关的接口信息。

至此,完成图7所示流程。

参见图8,为本申请实施例示出的步骤103中服务网关向资源服务器转发资源访问请求的实现流程。

如图8所示,该流程可包括以下步骤:

步骤801,确定与服务网关的接口信息对应的资源服务器的接口信息。

如前所述,服务网关负责接口信息的转换,并可记录服务器的接口信息与服务网关的接口信息的对应关系。

当服务网关通过步骤101接收到客户端设备的资源访问请求,且通过步骤102确定资源授权码合法有效时,获取资源访问请求包括的服务网关的接口信息。根据服务网关的接口信息,从已记录的对应关系中,获取对应的资源服务器的接口信息。

步骤802,将资源访问请求中的服务网关的接口信息,替换为对应的资源服务器的接口信息。

步骤803,向资源服务器转发替换后的资源访问请求。

至此,完成图8所示流程。

通过图7、图8所示流程可以看出,本申请实施例中,由于接口共享平台对外发布的是资源对应的服务网关的接口信息,所有用户(包括攻击者)均无法获取到资源服务器的接口信息,因此,避免了攻击者直接针对资源服务器进行攻击,保证了资源服务器的安全。

以上为对本申请实施例提供的方法的描述,下面对本申请实施例提供的装置进行描述:

参见图9,为本申请实施例提供的装置的结构示意图。该装置包括:接收单元901、校验单元902以及发送单元903,其中:

接收单元901,用于接收客户端设备发送的资源访问请求,所述资源访问请求包括第一资源授权码和第一资源授权码签名;

校验单元902,用于根据所述第一资源授权码和所述第一资源授权码签名,对所述第一资源授权码进行校验;

发送单元903,用于若所述第一资源授权码通过校验,向资源服务器转发所述资源访问请求;

所述接收单元901,还用于接收所述资源服务器基于所述资源访问请求返回的资源;

所述发送单元903,还用于将所述返回的资源转发给所述客户端设备。

作为一个实施例,所述校验单元902根据所述第一资源授权码和所述第一资源授权码签名,对所述第一资源授权码进行校验,包括:

基于预设签名规则,对所述第一资源授权码进行签名,得到对应的第二资源授权码签名;

若所述第二资源授权码签名与所述第一资源授权码签名一致,确定所述第一资源授权码通过校验。

作为一个实施例,所述校验单元902确定所述第一资源授权码通过校验,包括:

获取所述第一资源授权码的使用期限;

若所述第一资源授权码的使用未超过其对应的使用期限,确定所述第一资源授权码通过校验。

作为一个实施例,所述装置还包括:

所述接收单元901,还用于接收所述客户端设备发送的资源授权请求,所述资源授权请求包括第一摘要信息和第一身份信息,所述第一摘要信息为所述客户端设备利用所述客户端设备的私钥对预先约定的摘要信息进行加密得到;

获取单元,用于根据所述第一身份信息,从指定存储介质中获取所述客户端设备的公钥;

解密单元,用于利用所述客户端设备的公钥对所述第一摘要信息进行解密;

生成单元,用于若解密得到的摘要信息与所述预先约定的摘要信息一致,生成第二资源授权码和第三资源授权码签名;

加密单元,用于利用所述客户端设备的公钥对所述第二资源授权码和所述第三资源授权码签名加密,得到第三资源授权码和第四资源授权码签名;

所述发送单元903,还用于将所述第三资源授权码和所述第四资源授权码签名发送给所述客户端设备,以使所述客户端设备利用所述客户端设备的私钥对所述第三资源授权码和所述第四资源授权码签名解密,得到所述第二资源授权码和所述第三资源授权码签名。

作为一个实施例,所述第一身份信息为所述客户端设备利用所述服务网关的公钥对所述客户端设备的身份信息进行加密得到,所述获取单元根据所述第一身份信息,从指定存储介质中,获取所述客户端设备的公钥,包括:

利用所述服务网关的私钥对所述第一身份信息解密,得到所述客户端设备的身份信息;

从所述指定存储介质中,获取与所述客户端设备的身份信息对应的所述客户端设备的公钥。

作为一个实施例,所述资源授权请求还包括所述资源的接口信息,所述生成单元生成第二资源授权码和第三资源授权码签名,包括:

根据所述客户端设备的身份信息、所述资源的接口信息以及当前时间,生成所述第二资源授权码;

基于预设签名规则,对所述第二资源授权码进行签名,得到所述第三资源授权码签名。

作为一个实施例,所述装置还包括:

所述接收单元901,还用于接收接口共享平台发送的接口代理请求,所述接口代理请求包括所述资源对应的资源服务器的接口信息;

转换单元,用于将所述资源服务器的接口信息转换为所述服务网关的接口信息;

所述发送单元903,还用于将所述服务网关的接口信息发送至所述接口共享平台,以使所述客户端设备根据所述接口共享平台发布的所述服务网关的接口信息,发送所述资源访问请求;

所述资源访问请求包括所述服务网关的接口信息;所述发送单元903向资源服务器转发所述资源访问请求,包括:

确定与所述服务网关的接口信息对应的所述资源服务器的接口信息;

将所述资源访问请求中的所述服务网关的接口信息,替换为所述资源服务器的接口信息;

向所述资源服务器转发替换后的资源访问请求。

至此,完成图9所示装置的描述。本申请实施例中,由服务网关对资源授权码进行校验,不需要资源服务器内嵌校验功能,因此,可避免对资源服务器自身结构的侵入,同时降低对资源服务器处理性能的影响。且服务网关直接根据资源访问请求中的资源授权码和资源授权码签名,对资源授权码进行校验,不需要从数据库查询资源校验码,因此,可节约查询时间,提升资源授权码的校验效率,降低对服务网关转发性能的影响。

下面对本申请实施例提供的服务网关进行描述:

参见图10,为本申请实施例提供的一种服务网关的硬件结构示意图。该服务网关可包括处理器1001、存储有机器可执行指令的机器可读存储介质1002。处理器1001与机器可读存储介质1002可经由系统总线1003通信。并且,通过读取并执行机器可读存储介质1002中与资源访问逻辑对应的机器可执行指令,处理器1001可执行上文描述的资源访问方法。

本文提到的机器可读存储介质1002可以是任何电子、磁性、光学或其他物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,所述机器可读存储介质1002可以包括如下至少一个种存储介质:易失存储器、非易失性存储器、其它类型存储介质。其中,易失性存储器可为ram(randomaccessmemory,随机存取存储器),非易失性存储器可为闪存、存储驱动器(如硬盘驱动器)、固态硬盘、存储盘(如光盘、dvd等)。

本申请实施例还提供一种包括机器可执行指令的机器可读存储介质,例如图10中的机器可读存储介质1002,所述机器可执行指令可由服务网关中的处理器1001执行,以实现以上描述的资源访问方法。

至此,完成图10所示服务网关的描述。

以上所述仅为本申请实施例的较佳实施例而已,并不用以限制本申请,凡在本申请实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1