CN103001936B - 一种第三方应用接口授权方法和系统 - Google Patents
一种第三方应用接口授权方法和系统 Download PDFInfo
- Publication number
- CN103001936B CN103001936B CN201110276091.8A CN201110276091A CN103001936B CN 103001936 B CN103001936 B CN 103001936B CN 201110276091 A CN201110276091 A CN 201110276091A CN 103001936 B CN103001936 B CN 103001936B
- Authority
- CN
- China
- Prior art keywords
- party
- ciphertext
- interface
- service
- user identity
- 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
Abstract
本发明公开了一种第三方应用接口授权方法和系统。所述方法包括:第三方根据分配的认证信息生成第三方密文,根据用户输入的用户信息生成用户身份密文;第三方向开放平台发起接口请求,并传递所述第三方密文和用户身份密文;开放平台验证所述第三方密文和用户身份密文,当验证结果为验证通过时,向该第三方授权接口。本发明的技术方案能够进行多重验证,进一步提高网络安全。
Description
技术领域
本发明涉及互联网安全技术领域,特别是涉及一种第三方应用接口授权方法和系统。
背景技术
在互联网时代,把网站的服务封装成一系列计算机易识别的数据接口开放出去,供第三方开发者使用,这种行为就叫做开放的应用程序编程接口(OpenAPI),提供OpenAPI的平台本身就被称为开放平台。
通过开放平台,网站不仅能提供对Web网页的简单访问,还可以进行复杂的数据交互,将它们的Web网站转换为与操作系统等价的开发平台。第三方开发者可以基于这些已经存在的、公开的Web网站而开发丰富多彩的应用。
可见,所谓开放平台,就是首先提供一个基本的服务,然后通过开放自身的接口,使得第三方开发者得以通过运用和组装其接口以及其他第三方服务接口产生新的应用,并且使得该应用能够统一运行在这个平台之上,我们把这样的一种网络服务模式叫做开放平台。开放平台模式成功的要点在于,通过自身服务和第三方应用的互利互惠,提高用户对平台网站的粘性和使用程度。
目前,一般是给第三方应用授权一组凭证,开放平台通过验证此凭证的有效性来给予相应能力。具体的,每个第三方被授予的能力可能有所不同,比如可以执行某些操作、享受某些服务的权限有所不同。每组凭证对应与其相应的应用能力。第三方应用使用给其开放的平台服务时,会首先向开放平台提交凭证,平台服务验证该凭证是否合法有效,比如通过比对凭证是否一致等,确定该第三方是否合法,并在合法时允许其使用被授权的应用能力。
上述关于第三方的安全验证方案,仅验证第三方的合法性,这种方案过于单一,网络安全还存在很多风险。
发明内容
本发明提供了一种第三方应用接口授权方法,该方法能够进行多重验证,进一步提高网络安全。
本发明还提供了一种第三方应用接口授权系统,该系统能够进行多重验证,进一步提高网络安全。
为达到上述目的,本发明的技术方案是这样实现的:
本发明公开了一种第三方应用接口授权方法,该方法包括:
第三方根据分配的认证信息生成第三方密文,根据用户输入的用户信息生成用户身份密文;
第三方向开放平台发起接口请求,并传递所述第三方密文和用户身份密文;
开放平台验证所述第三方密文和用户身份密文,当验证结果为验证通过时,向该第三方授权接口。
上述方法中,所述认证信息包括:密钥和标识信息;
所述第三方根据分配的认证信息生成第三方密文包括:根据密钥和标识,使用高级加密标准AES算法生成第三方密文。
上述方法中,所述用户信息包括:用户名和密码;
所述第三方根据用户输入的用户信息生成用户身份密文包括:根据用户名和密码,使用安全哈希算法SHA1和消息摘要算法MD5生成用户身份密文。
上述方法中,
第三方根据分配的认证信息以及当前的时间戳生成第三方密文;和/或,第三方根据用户输入的用户信息以及当前的时间戳生成用户身份密文;
所述开放平台验证所述第三方密文和用户身份密文还包括:将第三方密文和/或用户身份密文中的时间戳与当前时间进行比较,判断是否过期。
上述方法进一步包括:在将第三方密文和/或用户身份密文中的时间戳与当前时间进行比较,判断为过期时,开放平台向第三方返回本地的当前时间,以便第三方根据开放平台返回的当前时间与开放平台的时间进行同步。
上述方法中,如果所述第三方连续验证失败的次数超过预置次数时,开放平台对该第三方进行图形验证。
当验证结果为验证通过,向该第三方授权接口之后进一步包括:记录该第三方的行为。
本发明还公开了一种第三方应用接口授权系统,该系统包括:开放平台和第三方;所述开放平台包括:接口服务和平台核心服务;
所述第三方,根据分配的凭证认证信息生成第三方密文,根据用户输入的用户信息生成用户身份密文,向所述接口服务发起接口请求;所述接口请求包含所述第三方密文和用户身份密文;
所述接口服务验证所述接口请求中的第三方密文和用户身份密文,并根据验证结果确定是否向该第三方客户端授权接口,如果验证结果为验证通过,则向平台核心服务发送请求;并将平台核心服务反馈的接口服务数据返回第三方。
平台核心服务接收到接口服务的请求后,向接口服务反馈接口服务数据。
上述系统中,所述第三方根据分配的认证信息以及当前的时间戳生成第三方密文;和/或,第三方根据用户输入的用户信息以及当前的时间戳生成用户身份密文;
所述接口服务在验证所述第三方密文和用户身份密文的过程中,还将第三方密文和/或用户身份密文中的时间戳与当前时间进行比较,判断是否过期。
上述系统中,
如果所述第三方连续验证失败的次数超过预置次数,则开放平台对该第三方进行图形验证;
和/或,
所述接口服务在将第三方密文和/或用户身份密文中的时间戳与当前时间进行比较,判断为过期时,向第三方客户端返回本地的当前时间,以便第三方客户端根据接口服务返回的当前时间与接口服务的本地时间进行同步。
由上述可见,本发明这种第三方根据分配的认证凭证信息生成第三方密文,根据用户输入的用户信息生成用户身份密文,向开放平台发起接口请求,并传递所述第三方密文和用户身份密文;开放平台验证所述第三方密文和用户身份密文,当验证结果为验证通过时,向该第三方授权接口的技术方案,不仅验证所分配的凭证信息,还对用户身份进行验证,进行了多重验证,进一步提高了网络安全。
附图说明
图1是本发明实施例中的一种第三方应用接口授权方法的流程图;
图2是本发明中的第三方应用接口授权方案的一个较佳实施例的流程图;
图3是本发明实施例中的一种第三方应用接口授权系统的组成示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
图1是本发明实施例中的一种第三方应用接口授权方法的流程图。如图1所示,该方法包括:
101,第三方根据分配的认证信息生成第三方密文,根据用户输入的用户信息生成用户身份密文。
在本步骤中,所述认证信息包括:密钥和标识信息;第三方根据密钥和标识,使用高级加密标准(AES)算法生成第三方密文。所述用户信息包括:用户名和密码;第三方根据用户名和密码,使用安全哈希算法第一版(SHA1)和消息摘要算法第五版(MD5)生成用户身份密文。
通常来说,上述标识信息是用来标识第三方的,具体可以是一个字符串或与第三方信息有关的标识内容等。
102,第三方向开放平台发起接口请求,并传递所述第三方密文和用户身份密文。
103,开放平台验证所述第三方密文和用户身份密文,当验证结果为验证通过时,向该第三方授权接口。
图1所述的方法中,不仅验证为第三方所分配的凭证信息,还对用户身份进行验证,进行了多重验证,更能保证安全。
在图1所述方法的基础上,进一步可以验证时间戳,即:第三方根据分配的认证信息以及当前的时间戳生成第三方密文;和/或,第三方根据用户输入的用户信息以及当前的时间戳生成用户身份密文。开放平台验证所述第三方密文和用户身份密文的过程中,将第三方密文和/或用户身份密文中的时间戳与当前时间进行比较,判断是否过期。
图2是本发明中的第三方应用接口授权方案的一个较佳实施例的流程图。这里第三方具体为一个第三方客户端,如图2所示,包括:
201,第三方客户端根据所分配的密钥和标识以及当前的时间戳,使用AES算法生成第三方密文;根据用户输入的用户名和密码以及当前的时间戳,使用SHA1和MD5生成用户身份密文。
202,第三方客户端向开发平台发送接口请求,传递所述两个密文。
203,开放平台验证第三方密文中的密钥和标识,如果验证通过则执行步骤204,否则记录验证失败次数,执行步骤208。
204,开放平台验证第三方密文中的时间戳,即将该时间戳与当前时间比较,如果时间差超过预设值,则执行步骤208,否则执行步骤205。
205,开放平台验证用户身份密文中的用户名和密码,如果验证通过则执行步骤206,否则记录验证失败次数,执行步骤208。
206,开放平台验证用户身份密文中的时间戳,即将该时间戳与当前时间比较,如果时间差超过预设值,则执行步骤208,否则执行步骤207。
207,请求成功,开放平台授权接口,记录第三方客户端的此次行为。结束本流程。
208,请求失败。如果是时间戳过期,则开放平台向第三方客户端返回本地的当前时间,以便第三方客户端根据开放平台返回的当前时间与开放平台的时间进行同步。如果是验证失败,则判断连续验证失败的次数是否超过预设次数,是则对该第三方客户端进行图形验证。
图3是本发明实施例中的一种第三方应用接口授权系统的组成示意图。如图3所示,该系统包括:开放平台和第三方;所述开放平台包括:接口服务和平台核心服务;
所述第三方客户端第三方,根据分配的凭证认证信息生成第三方密文,第三方客户端第三方根据用户输入的用户信息生成用户身份密文,向所述接口服务发起接口请求;所述接口请求包含所述第三方密文和用户身份密文;
所述接口服务验证所述接口请求中的第三方密文和用户身份密文,并根据验证结果确定是否向该第三方授权接口,如果是则向平台核心服务发送请求,并将平台核心服务反馈的接口服务数据返回第三方。
平台核心服务接收到接口服务的请求后,向接口服务反馈接口服务数据。
在图3所示系统中,所述第三方根据分配的认证信息以及当前的时间戳生成第三方密文;和/或,第三方根据用户输入的用户信息以及当前的时间戳生成用户身份密文;
所述接口服务在验证所述第三方密文和用户身份密文的过程中,还将第三方密文和/或用户身份密文中的时间戳与当前时间进行比较,判断是否过期。
在图3所示系统中,如果所述第三方连续多次验证失败的次数超过预置次数,则接口服务对该第三方进行图形验证;和/或,所述接口服务在将第三方密文和/或用户身份密文中的时间戳与当前时间进行比较,判断为过期时,向第三方返回本地的当前时间,以便第三方根据接口服务返回的当前时间与接口服务的本地时间进行同步。
进一步的,第三方根据开放平台返回的接口服务数据,对开放平台接口进行应用,相应的,开放平台还进一步记录该第三方客户端的行为。
需要说明的是,本系统实施例中的各功能模块或各功能单元可以参见上述方法实施例中各步骤工作原理和处理过程的相关描述,此处不再赘述。
由上述可见,本发明这种第三方根据分配的认证信息生成第三方密文,根据用户输入的用户信息生成用户身份密文,向开放平台发起接口请求,并传递所述第三方密文和用户身份密文;开放平台验证所述第三方密文和用户身份密文,并根据验证结果确定是否向该第三方授权接口的技术方案,不仅验证所分配的凭证信息,还对用户身份进行验证,进行了多重验证,更能保证安全。
本发明中还进一步对时间戳进行验证,保证了时效的控制,以及在多次验证失败时进行图形验证,实现对失败次数的控制,即对恶意验证的控制。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (7)
1.一种第三方应用接口授权方法,其特征在于,该方法包括:
第三方根据分配的认证信息生成第三方密文,根据用户输入的用户信息生成用户身份密文;
第三方向开放平台发起接口请求,并传递所述第三方密文和用户身份密文,所述开放平台为提供应用程序编程接口的平台,包括接口服务和平台核心服务,所述第三方具体向所述接口服务发起接口请求;
开放平台中的接口服务验证所述第三方密文和用户身份密文,当验证结果为验证通过时,向该第三方授权接口,所述向该第三方授权接口包括:向平台核心服务发送请求,并将平台核心服务反馈的接口服务数据返回给第三方;
其中,第三方根据分配的认证信息以及当前的时间戳生成第三方密文;和/或,第三方根据用户输入的用户信息以及当前的时间戳生成用户身份密文;
所述开放平台中的接口服务验证所述第三方密文和用户身份密文还包括:将第三方密文和/或用户身份密文中的时间戳与当前时间进行比较,判断是否过期;
该方法进一步包括:在将第三方密文和/或用户身份密文中的时间戳与当前时间进行比较,判断为过期时,开放平台向第三方返回本地的当前时间,以便第三方根据开放平台返回的当前时间与开放平台的时间进行同步。
2.根据权利要求1所述的方法,其特征在于,所述认证信息包括:密钥和标识信息;
所述第三方根据分配的认证信息生成第三方密文包括:根据密钥和标识,使用高级加密标准AES算法生成第三方密文。
3.根据权利要求1所述的方法,其特征在于,所述用户信息包括:用户名和密码;
所述第三方根据用户输入的用户信息生成用户身份密文包括:根据用户名和密码,使用安全哈希算法SHA1和消息摘要算法MD5生成用户身份密文。
4.根据权利要求1所述的方法,其特征在于,如果所述第三方客户端连续验证失败的次数超过预置次数时,开放平台对该第三方客户端进行图形验证。
5.根据权利要求1至3中任一项所述的方法,其特征在于,当验证结果为验证通过,向该第三方授权接口之后进一步包括:记录该第三方的行为。
6.一种第三方应用接口授权系统,其特征在于,该系统包括:开放平台和第三方;所述开放平台包括:接口服务和平台核心服务;
所述第三方,根据分配的凭证认证信息生成第三方密文,根据用户输入的用户信息生成用户身份密文,向所述接口服务发起接口请求;所述接口请求包含所述第三方密文和用户身份密文;
所述接口服务验证所述接口请求中的第三方密文和用户身份密文,并根据验证结果确定是否向该第三方客户端授权接口,如果验证结果为验证通过,则向平台核心服务发送请求;并将平台核心服务反馈的接口服务数据返回给第三方,所述开放平台为提供应用程序编程接口的平台;
平台核心服务接收到接口服务的请求后,向接口服务反馈接口服务数据;
所述第三方客户端根据分配的凭证认证信息以及当前的时间戳生成第三方密文;和/或,第三方客户端根据用户输入的用户信息以及当前的时间戳生成用户身份密文;
所述接口服务在验证所述第三方密文和用户身份密文的过程中,还将第三方密文和/或用户身份密文中的时间戳与当前时间进行比较,判断是否过期;
所述接口服务在将第三方密文和/或用户身份密文中的时间戳与当前时间进行比较,判断为过期时,向第三方客户端返回本地的当前时间,以便第三方客户端根据接口服务返回的当前时间与接口服务的本地时间进行同步。
7.根据权利要求6所述的系统,其特征在于,
如果所述第三方连续验证失败的次数超过预置次数,则接口服务对该第三方进行图形验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110276091.8A CN103001936B (zh) | 2011-09-16 | 2011-09-16 | 一种第三方应用接口授权方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110276091.8A CN103001936B (zh) | 2011-09-16 | 2011-09-16 | 一种第三方应用接口授权方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103001936A CN103001936A (zh) | 2013-03-27 |
CN103001936B true CN103001936B (zh) | 2016-05-25 |
Family
ID=47930081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110276091.8A Active CN103001936B (zh) | 2011-09-16 | 2011-09-16 | 一种第三方应用接口授权方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103001936B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103607601A (zh) * | 2013-11-22 | 2014-02-26 | 乐视致新电子科技(天津)有限公司 | 协助第三方应用进行帐号注册的方法及装置 |
CN104850776A (zh) * | 2014-02-18 | 2015-08-19 | 中国电信股份有限公司 | 控制对api调用的方法、装置与移动终端 |
CN104113549B (zh) * | 2014-07-28 | 2017-07-18 | 百度在线网络技术(北京)有限公司 | 一种平台授权方法、平台服务端及应用客户端和系统 |
CN104113552B (zh) * | 2014-07-28 | 2017-06-16 | 百度在线网络技术(北京)有限公司 | 一种平台授权方法、平台服务端及应用客户端和系统 |
CN106991298B (zh) | 2016-01-21 | 2021-02-02 | 斑马智行网络(香港)有限公司 | 应用程序对接口的访问方法、授权请求方法及装置 |
CN111416793B (zh) * | 2019-01-08 | 2022-05-24 | 杭州海康威视数字技术股份有限公司 | 基于开放平台的权限控制方法和嵌入式设备 |
CN110891249A (zh) * | 2019-12-31 | 2020-03-17 | 合肥美的智能科技有限公司 | 短信接口的分配方法、服务器、客户端和系统 |
CN112416624B (zh) * | 2020-11-28 | 2022-04-08 | 郑州信大捷安信息技术股份有限公司 | 基于开放平台的应用数据交互方法及系统 |
CN112492031B (zh) * | 2020-11-30 | 2022-11-04 | 上海寻梦信息技术有限公司 | 开放平台对接方法、装置、设备以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047504A (zh) * | 2006-03-29 | 2007-10-03 | 腾讯科技(深圳)有限公司 | 一种网站登录认证方法及认证系统 |
CN101051898A (zh) * | 2006-04-05 | 2007-10-10 | 华为技术有限公司 | 无线网络端到端通信认证方法及其装置 |
CN101562621A (zh) * | 2009-05-25 | 2009-10-21 | 阿里巴巴集团控股有限公司 | 一种用户授权的方法、系统和装置 |
CN101964791A (zh) * | 2010-09-27 | 2011-02-02 | 北京神州泰岳软件股份有限公司 | 客户端与web应用的通讯认证系统及认证方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1835438B (zh) * | 2006-03-22 | 2011-07-27 | 阿里巴巴集团控股有限公司 | 一种在网站间实现单次登录的方法及网站 |
-
2011
- 2011-09-16 CN CN201110276091.8A patent/CN103001936B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047504A (zh) * | 2006-03-29 | 2007-10-03 | 腾讯科技(深圳)有限公司 | 一种网站登录认证方法及认证系统 |
CN101051898A (zh) * | 2006-04-05 | 2007-10-10 | 华为技术有限公司 | 无线网络端到端通信认证方法及其装置 |
CN101562621A (zh) * | 2009-05-25 | 2009-10-21 | 阿里巴巴集团控股有限公司 | 一种用户授权的方法、系统和装置 |
CN101964791A (zh) * | 2010-09-27 | 2011-02-02 | 北京神州泰岳软件股份有限公司 | 客户端与web应用的通讯认证系统及认证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103001936A (zh) | 2013-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103001936B (zh) | 一种第三方应用接口授权方法和系统 | |
CN108064440B (zh) | 基于区块链的fido认证方法、装置及系统 | |
CN103051628B (zh) | 基于服务器获取认证令牌的方法及系统 | |
TWI454111B (zh) | 用於確保通訊之鑑別及完備性的技術 | |
CN101379487B (zh) | 以授权的方式产生权限对象的方法和设备 | |
CN109547445B (zh) | 一种验证客户端网络请求合法的方法及系统 | |
CN110535648B (zh) | 电子凭证生成及验证和密钥控制方法、装置、系统和介质 | |
CN101262342A (zh) | 分布式授权与验证方法、装置及系统 | |
CN102170354B (zh) | 集中账号密码认证生成系统 | |
CN103107996A (zh) | 数字证书在线下载方法及系统、数字证书发放平台 | |
CN104508713A (zh) | 用于借助移动终端控制锁机构的方法和设备 | |
CN109086575A (zh) | 一种软件许可证的授权方法和系统 | |
CN102171652A (zh) | 为电子装置提供可信软件的方法 | |
CN113114699B (zh) | 一种车辆终端身份证书申请方法 | |
CN106302606B (zh) | 一种跨应用访问方法及装置 | |
CN101860540A (zh) | 一种识别网站服务合法性的方法及装置 | |
CN104753881A (zh) | 一种基于软件数字证书和时间戳的WebService安全认证访问控制方法 | |
CN107528877B (zh) | 基于区块链结构的安全性电子文件处理系统及方法 | |
CN104574176A (zh) | 一种基于usbkey的安全网上报税方法 | |
CN103078742A (zh) | 数字证书的生成方法和系统 | |
CN113312664B (zh) | 用户数据授权方法及用户数据授权系统 | |
CN111159656A (zh) | 一种防止软件非授权使用的方法、装置、设备和存储介质 | |
CN105872848A (zh) | 一种适用于非对称资源环境的可信双向认证方法 | |
CN109335906A (zh) | 校验方法、电梯控制设备以及电梯外围设备 | |
CN102236752B (zh) | 软件安装和升级的可信度量方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: Room 810, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080 Patentee after: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building A block 5 layer Patentee before: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. |