应用程序编程接口的访问方法、系统、服务端及客户端技术方案

技术编号:17709797 阅读:35 留言:0更新日期:2018-04-14 21:22
本发明专利技术提供了一种应用程序编程接口的访问方法、系统、服务端及客户端,该方法应用于服务端时,包括:获取外部的至少一个客户端发送的注册信息;根据注册信息,生成每一个注册信息对应的访问密钥,对各个访问密钥进行存储,并将所述访问密钥发送给对应的客户端;接收目标客户端发送的访问请求;对访问请求进行解析,获得目标客户端对应的第一消息认证码、随机字符串以及目标注册信息;从存储的各个访问密钥中查找与目标注册信息对应的目标密钥,并根据所述目标密钥和随机字符串生成第二消息认证码;确定第一消息认证码与第二消息认证码是否相同,如果是,向目标客户端发放应用程序编程接口对应的访问权限。本方案能提高API访问的安全性。

【技术实现步骤摘要】
应用程序编程接口的访问方法、系统、服务端及客户端
本专利技术涉及计算机
,特别涉及一种应用程序编程接口的访问方法、系统、服务端及客户端。
技术介绍
REST是一种分散式超媒体系统的软件架构风格,常用于HTTP、URI、XML以及HTML等广泛流行的协议和标准中。REST应用程序编程接口(ApplicationProgrammingInterface,API)是目前比较成熟的一套互联网应用程序的API设计理论。在设计REST风格的WebServiceAPI时,一般将API平台直接暴露于公网,则用户在访问API时,其访问信息通过公网传输,这使得访问信息在传输过程中容易被窃取,窃取者可利用该访问信息对API进行访问,从而导致API的访问安全性较低。
技术实现思路
本专利技术实施例提供了一种应用程序编程接口的访问方法、系统、服务端及客户端,能提高API的访问安全性。第一方面,本专利技术实施例提供了一种应用程序编程接口的访问方法,应用于服务端,包括:获取外部的至少一个客户端发送的注册信息;根据所述注册信息,生成每一个所述注册信息对应的访问密钥,对各个所述访问密钥进行存储,并将所述访问密钥发送给对应的所述客户端;还包括:接收目标客户端发送的访问请求;对所述访问请求进行解析,获得所述目标客户端对应的第一消息认证码、随机字符串以及目标注册信息;从存储的各个所述访问密钥中查找与所述目标注册信息对应的目标密钥,并根据所述目标密钥和所述随机字符串生成第二消息认证码;确定所述第一消息认证码与所述第二消息认证码是否相同,如果是,向所述目标客户端发放应用程序编程接口对应的访问权限。优选地,在所述确定所述第一消息认证码与所述第二消息认证码是否相同之前,进一步包括:从所述访问请求中解析出所述第一消息认证码对应的时间戳信息,并确定所述解析时刻;根据所述时间戳信息,确定所述第一消息认证码对应的生成时刻;确定所述解析时刻与所述生成时刻之间的差值是否不大于预设阈值,如果是,执行所述确定所述第一消息认证码与所述第二消息认证码是否相同。优选地,所述根据所述目标密钥和所述随机字符串生成第二消息认证码,包括:利用哈希算法对所述目标密钥和所述随机字符串进行计算,生成所述第二消息认证码。第二方面,本专利技术实施例提供了一种应用程序编程接口的访问方法,应用于客户端,包括:获取用户输入的注册信息,并将所述注册信息发送给外部的服务端;接收所述服务端发送的与所述注册信息对应的访问密钥;还包括:接收用户输入的目标注册信息,根据所述目标注册信息,生成随机字符串;根据获取的所述访问密钥以及所述随机字符串,生成消息认证码;根据所述消息认证码、所述随机字符串和所述注册信息,生成访问请求,并将所述访问请求发送给所述服务端;当接收到所述服务端发送的应用程序编程接口对应的访问权限时,对所述应用程序编程接口进行访问。优选地,所述根据所述消息认证码、所述随机字符串和所述注册信息,生成访问请求,包括:确定所述消息认证码的生成时刻,并根据所述生成时刻,生成所述消息认证码对应的时间戳信息;将所述消息认证码、所述随机字符串和所述注册信息写入请求头中,并将所述时间戳信息写入请求地址符中,将所述请求头和所述请求地址符进行组合,生成所述访问请求;优选地,所述根据获取的所述访问密钥以及所述随机字符串,生成消息认证码,包括:利用哈希算法对所述访问密钥和所述随机字符串进行计算,生成所述消息认证码。第三方面,本专利技术实施例提供了一种服务端,包括:密钥发送单元、解析单元和处理单元;其中,所述密钥发送单元,用于获取外部的至少一个客户端发送的注册信息,根据所述注册信息,生成每一个所述注册信息对应的访问密钥,对各个所述访问密钥进行存储,并将所述访问密钥发送给对应的所述客户端;所述解析单元,用于接收目标客户端发送的访问请求,并对所述访问请求进行解析,获得所述目标客户端对应的第一消息认证码、随机字符串以及目标注册信息;所述处理单元,用于从存储的各个所述访问密钥中查找与所述目标注册信息对应的目标密钥,并根据所述目标密钥和所述随机字符串生成第二消息认证码;确定所述第一消息认证码与所述第二消息认证码是否相同,如果是,向所述目标客户端发放应用程序编程接口对应的访问权限。优选地,所述解析单元,进一步用于从所述访问请求中解析出所述第一消息认证码对应的时间戳信息,并确定所述解析时刻;所述处理单元,进一步用于根据所述时间戳信息,确定所述第一消息认证码对应的生成时刻,并确定所述解析时刻与所述生成时刻之间的差值是否不大于预设阈值,如果是,执行所述确定所述第一消息认证码与所述第二消息认证码是否相同;优选地,所述处理单元,用于利用哈希算法对所述目标密钥和所述随机字符串进行计算,生成所述第二消息认证码。第四方面,本专利技术实施例提供了一种客户端,包括:密钥接收单元、请求发送单元和访问单元;其中,所述密钥接收单元,用于获取用户输入的注册信息,并将所述注册信息发送给外部的服务端,并接收所述服务端发送的与所述注册信息对应的访问密钥;所述请求发送单元,用于接收用户输入的目标注册信息,根据所述目标注册信息,生成随机字符串;根据获取的所述访问密钥以及所述随机字符串,生成消息认证码;根据所述消息认证码、所述随机字符串和所述注册信息,生成访问请求,并将所述访问请求发送给所述服务端;所述访问单元,用于当接收到所述服务端发送的应用程序编程接口对应的访问权限时,对所述应用程序编程接口进行访问。优选地,所述请求发送单元,用于确定所述消息认证码的生成时刻,并根据所述生成时刻,生成所述消息认证码对应的时间戳信息;将所述消息认证码、所述随机字符串和所述注册信息写入请求头中,并将所述时间戳信息写入请求地址符中,将所述请求头和所述请求地址符进行组合,生成所述访问请求;优选地,所述请求发送单元,用于利用哈希算法对所述访问密钥和所述随机字符串进行计算,生成所述消息认证码。第五方面,本专利技术实施例提供了一种应用程序编程接口的访问系统,包括:本专利技术上述任一实施例提供的服务端,以及至少一个本专利技术上述任一实施例提供的客户端。本专利技术实施例提供了一种应用程序编程接口的访问方法、系统、服务端及客户端,服务端预先根据客户端发送的注册信息,向客户端发送对应的访问密钥。接收到客户端发送的访问请求时,从中解析出第一消息认证码、随机字符串以及该客户端对应的目标注册信息,然后查找出与目标注册信息对应的目标密钥,并根据目标密钥与随机字符串生成第二消息认证码,当第一消息认证码和第二消息认证码相同时,向客户端发送API对应的访问权限。由此,将访问密钥通过消息认证码的形式放入访问请求中,使得在消息传输时,访问密钥没有暴露在公网中,避免了访问密钥的泄露,从而提高了API的访问安全性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一个实施例提供的一种应用程序编程接口的访问方法的流程图;图2是本专利技术另一个实施例提供的一种应用程序编程接口的访问方法的流程图;图3是本专利技术一个实施例提供的一种服务端的结构示本文档来自技高网...
应用程序编程接口的访问方法、系统、服务端及客户端

【技术保护点】
一种应用程序编程接口的访问方法,其特征在于,应用于服务端,包括:获取外部的至少一个客户端发送的注册信息;根据所述注册信息,生成每一个所述注册信息对应的访问密钥,对各个所述访问密钥进行存储,并将所述访问密钥发送给对应的所述客户端;还包括:接收目标客户端发送的访问请求;对所述访问请求进行解析,获得所述目标客户端对应的第一消息认证码、随机字符串以及目标注册信息;从存储的各个所述访问密钥中查找与所述目标注册信息对应的目标密钥,并根据所述目标密钥和所述随机字符串生成第二消息认证码;确定所述第一消息认证码与所述第二消息认证码是否相同,如果是,向所述目标客户端发放应用程序编程接口对应的访问权限。

【技术特征摘要】
1.一种应用程序编程接口的访问方法,其特征在于,应用于服务端,包括:获取外部的至少一个客户端发送的注册信息;根据所述注册信息,生成每一个所述注册信息对应的访问密钥,对各个所述访问密钥进行存储,并将所述访问密钥发送给对应的所述客户端;还包括:接收目标客户端发送的访问请求;对所述访问请求进行解析,获得所述目标客户端对应的第一消息认证码、随机字符串以及目标注册信息;从存储的各个所述访问密钥中查找与所述目标注册信息对应的目标密钥,并根据所述目标密钥和所述随机字符串生成第二消息认证码;确定所述第一消息认证码与所述第二消息认证码是否相同,如果是,向所述目标客户端发放应用程序编程接口对应的访问权限。2.根据权利要求1所述的方法,其特征在于,在所述确定所述第一消息认证码与所述第二消息认证码是否相同之前,进一步包括:从所述访问请求中解析出所述第一消息认证码对应的时间戳信息,并确定所述解析时刻;根据所述时间戳信息,确定所述第一消息认证码对应的生成时刻;确定所述解析时刻与所述生成时刻之间的差值是否不大于预设阈值,如果是,执行所述确定所述第一消息认证码与所述第二消息认证码是否相同。3.根据权利要求1所述的方法,其特征在于,所述根据所述目标密钥和所述随机字符串生成第二消息认证码,包括:利用哈希算法对所述目标密钥和所述随机字符串进行计算,生成所述第二消息认证码。4.一种应用程序编程接口的访问方法,其特征在于,应用于客户端,包括:获取用户输入的注册信息,并将所述注册信息发送给外部的服务端;接收所述服务端发送的与所述注册信息对应的访问密钥;还包括:接收用户输入的目标注册信息,根据所述目标注册信息,生成随机字符串;根据获取的所述访问密钥以及所述随机字符串,生成消息认证码;根据所述消息认证码、所述随机字符串和所述注册信息,生成访问请求,并将所述访问请求发送给所述服务端;当接收到所述服务端发送的应用程序编程接口对应的访问权限时,对所述应用程序编程接口进行访问。5.根据权利要求4所述的方法,其特征在于,所述根据所述消息认证码、所述随机字符串和所述注册信息,生成访问请求,包括:确定所述消息认证码的生成时刻,并根据所述生成时刻,生成所述消息认证码对应的时间戳信息;将所述消息认证码、所述随机字符串和所述注册信息写入请求头中,并将所述时间戳信息写入请求地址符中,将所述请求头和所述请求地址符进行组合,生成所述访问请求;和/或,所述根据获取的所述访问密钥以及所述随机字符串,生成消息认证码,包括:利用哈希算法对所述访问密钥和所述随机字符串进行计算,生成所述消息认证码。6.一种服务端,其特征在于...

【专利技术属性】
技术研发人员:周祥龙李秀芳展召磊郑彬
申请(专利权)人:济南浪潮高新科技投资发展有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1