一种API访问分布式授权方法及其系统技术方案

技术编号:13173483 阅读:55 留言:0更新日期:2016-05-10 16:31
本发明专利技术公开了一种API访问分布式授权方法及其系统,API访问分布式授权方法包括:A、访问服务接口时,API服务器获取输入的访问令牌并解密,获得访问令牌的解密数据,并将解密数据中的加密部分传输给中央终端;B、所述中央终端将所接收的加密部分经用户签名解密获得所述加密部分的解密数据,并判断所述加密部分的有效性;C、在加密部分有效时,所述中央终端发送解密后的加密部分给所述API服务器以判断所述加密部分的地址部分、时限部分的有效性;若均有效则API服务器调用所述服务接口;采用访问令牌作为鉴权的依据来判断是否有权访问对应的服务接口,使用访问令牌更加方便,易于操作,且破译难度大,大大提高了安全性。

【技术实现步骤摘要】

本专利技术涉及通信
,特别涉及一种API访问分布式授权方法及其系统
技术介绍
目前很多服务都采用WebService方式,可以很容易地提供各种算法、存储等通用Web接口供各种客户端使用。这种方式把很多需要消耗资源的各种计算都移向服务端,或者把需要很多数据资源的处理移向服务端。这样一方面减少了客户端的开发成本、计算和存储成本(有的计算量客户端并不能处理),另一方面可以把各种客户端的数据全部集中到服务端,通过后台分析得到更有价值的数据。但是,这也产生了对接口使用过程中的鉴权问题,不能让没有授权的用户使用API(Applicat1n Programming Interface,应用程序编程接口)接口,数据是宝贵的并且各种资源(如CPU Mem等)都是宝贵的。为了保证安全和为授权用户提供更好的服务,以及保证授权用户数据的安全性,鉴权是一个必需的过程。目前的授权有两种方式:一是使用用户名和密码,但很容易被盗取;二是使用OAuth协议为用户资源的授权提供了一个安全的、开放而又简易的标准,但是后台服务搭建比较麻烦、且流程复杂。因而现有技术还有待改进和提高。
技术实现思路
本专利技术的目的在于提供一种API访问分布式授权方法及其系统,以解决现有授权易被盗取和搭建比较麻烦的问题。为了达到上述目的,本专利技术采取了以下技术方案: 一种API访问分布式授权方法,其包括: A、访问服务接口时,API服务器获取访问令牌并解密,获得访问令牌的解密数据,并将解密数据中的加密部分传输给中央终端; B、所述中央终端将所接收的加密部分经用户签名解密获得所述加密部分的解密数据,并判断所述加密部分的有效性; C、在加密部分有效时,所述中央终端发送解密后的加密部分给所述API服务器以判断所述加密部分的地址部分、时限部分的有效性;若均有效则API服务器调用所述服务接口。所述的API访问分布式授权方法中,在所述步骤A之前,还包括: AO 1、设置服务接口信息,根据服务接口信息生成访问令牌; A02、根据服务接口信息和访问令牌生成刷新令牌,显示所述访问令牌和刷新令牌并存储。所述的API访问分布式授权方法中,所述步骤A01具体包括: A011、注册用户名和密码后登陆; A012、选择要访问的服务接口、并设置用户签名; A013、设置用户外部使用名和过期时间间隔; A014、基于所述服务接口生成地址部分,并根据所述地址部分及所述过期时间间隔生成加密部分。所述的API访问分布式授权方法中,所述步骤A014具体包括: A0141、基于所述服务接口生成所述地址部分; A0142、根据所述过期时间间隔生成所述时限部分; A0143、根据所述地址部分、时限部分、用户外部使用名和用户签名生成所述加密部分。所述的API访问分布式授权方法中,在所述步骤A0141具体包括: A01411、遍历用户所选择的API Service接口 ; A01412、截取API Service接口的地址中第一段和最后一段作为关键字并链接; A01413、将所有关键字生成地址部分并存储。所述的API访问分布式授权方法中,所述步骤A02具体包括: A021、获取访问令牌中加密部分的数据,通过消息摘要算法生成散列值; A022、将所述散列值通过用户签名加密,作为刷新令牌; A023、以该散列值为关键字,以访问令牌中的地址部分和用户外部使用名为值存入DB集群; A024、对所述访问令牌和刷新令牌加密后显示。所述的API访问分布式授权方法中,所述步骤B具体包括: B1、中央终端对经用户签名解密后的加密部分进行消息摘要算法生成散列值; B2、以当前生成的散列值为关键字查询是否已存储在DB集群中:如果没有在则返回无权提不,并通知用户;如果有,执彳丁步骤B3 ; B3、判断当前生成的散列值对应的地址部分与存储的散列值对应的地址部分是否相同:是则返回解密后的加密部分给API服务器;否则返回无权提示,并通知用户。所述的API访问分布式授权方法中,所述步骤C具体包括: Cl、分别判断存储的地址部分和时限部分与当前解密后的加密部分的地址部分和时限部分是否均匹配:是则执行步骤C2;否则返回无权消息提示并通知用户; C2、判断当前的系统时间是否达到预设的过期时间:是则向用户返回过期提示信息;否则执行步骤C3; C3、判断当前地址部分的关键字中是否有需访问的服务接口的关键字:有则调用所述服务接口 ;没有则返回未受权。所述的API访问分布式授权方法中,在所述步骤C2中,向用户返回过期提示信息后,还包括:以输入的刷新令牌更新访问令牌,根据访问令牌中的接口信息生成新的刷新令牌。—种API访问分布式授权系统,其包括若干个API服务器和中央终端; 访问服务接口时,所述API服务器获取访问令牌并解密,获得访问令牌的解密数据,并将解密数据中的加密部分传输给中央终端;所述中央终端将所接收的加密部分经用户签名解密获得所述加密部分的解密数据,并判断所述加密部分的有效性;在加密部分有效时,所述中央终端发送解密后的加密部分给所述API服务器以判断所述加密部分的地址部分、时限部分的有效性;若均有效则API服务器调用所述服务接口。相较于现有技术,本专利技术提供的API访问分布式授权方法及其系统,访问服务接口时,API服务器获取访问令牌并解密,获得访问令牌的解密数据,并将解密数据中的加密部分传输给中央终端;所述中央终端将所接收的加密部分经用户签名解密获得所述加密部分的解密数据,并判断所述加密部分的有效性;在加密部分有效时,所述中央终端发送解密后的加密部分给所述API服务器以判断所述加密部分的地址部分、时限部分的有效性;若均有效则API服务器调用所述服务接口;采用访问令牌作为鉴权的依据来判断是否有权访问对应的服务接口,使用访问令牌更加方便,易于操作,且破译难度大,大大提高了安全性。【附图说明】图1为本专利技术提供的API访问分布式授权方法的方法流程图。图2为本专利技术提供的API访问分布式授权方法中步骤S10?S20的方法流程图。图3为本专利技术提供的API访问分布式授权方法中步骤S10应用实施例的方法流程图。图4为本专利技术提供的API访问分布式授权方法中步骤S20应用实施例的方法流程图。图5为本专利技术提供的API访问分布式授权方法中步骤S200应用实施例的方法流程图。图6为本专利技术提供的API访问分布式授权方法中步骤S300—较佳实施例的方法流程图。图7为本专利技术提供的API访问分布式授权方法中步骤S300另一较佳实施例的方法流程图。图8为本专利技术提供的API访问分布式授权方法中步骤S321应用实施例的方法流程图。图9为本专利技术提供的API访问分布式授权系统的结构框图。【具体实施方式】本专利技术提供一种API访问分布式授权方法及其系统,通过生成的访问令牌作为鉴权的依据来判断是否有权访问对应的接口,当访问令牌过期时由生成的刷新令牌更新;采用令牌(Token)方式不易被破解,即使用户名和密码被盗也很难改变令牌的访问权限。为使本专利技术的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。请参阅图1,其为本专利技术提供本文档来自技高网...

【技术保护点】
一种API访问分布式授权方法,其特征在于,包括:A、访问服务接口时,API服务器获取访问令牌并解密,获得访问令牌的解密数据,并将解密数据中的加密部分传输给中央终端;B、所述中央终端将所接收的加密部分经用户签名解密获得所述加密部分的解密数据,并判断所述加密部分的有效性;C、在加密部分有效时,所述中央终端发送解密后的加密部分给所述API服务器以判断所述加密部分的地址部分、时限部分的有效性;若均有效则API服务器调用所述服务接口。

【技术特征摘要】

【专利技术属性】
技术研发人员:董延平
申请(专利权)人:TCL集团股份有限公司
类型:发明
国别省市:广东;44

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

1